Commit Graph

1193 Commits

Author SHA1 Message Date
Patrick Walton
1ed94a5674 rustc: Prevent destructors from being run twice with the repeated vector syntax 2012-08-17 16:12:07 -07:00
Patrick Walton
9ea6b3a32e rustc: Remove a few allocations from metadata. Shaves a few milliseconds off compilation of hello world. 2012-08-17 15:54:18 -07:00
Patrick Walton
69daeffddb rustc: Remove a bunch of unused metadata tags from common 2012-08-17 15:25:40 -07:00
Patrick Walton
f79006937a rustc: Remove tag_paths and all of the associated encoding 2012-08-17 15:23:44 -07:00
Niko Matsakis
ea549e7a71 make borrowck more conservative around rvalues.
this will require more temporaries, but is probably less magical.
also, it means that borrowck matches trans better, so fewer crashes.
bonus.

Finally, stop warning about implicit copies when we are actually borrowing.

Also, one test (vec-res-add) stopped failing due to #2587, and hence I
added an xfail-test.

Fixes #3217, #2977, #3067
2012-08-17 15:14:13 -07:00
Patrick Walton
8f01343f01 rustc: Remove resolve_path 2012-08-17 15:07:14 -07:00
Patrick Walton
75d3e3c755 rustc: Remove a user of tag_paths.
This commit breaks the item-printing functionality. It will return in a faster
form.
2012-08-17 14:55:52 -07:00
Lindsey Kuper
0ace896d1f Remove a match check 2012-08-17 14:32:34 -07:00
Lindsey Kuper
2b3c86cb02 More and better debug messages for method typechecking 2012-08-17 14:32:34 -07:00
Patrick Walton
6f441e8fde rustc: Remove lookup_defs; unused. 2012-08-17 14:31:39 -07:00
Patrick Walton
578b7266f2 rustc: Encode reexports in the metadata and don't have each_path search tag_paths 2012-08-17 12:42:45 -07:00
Ben Blum
89c2a9f4cf Forbid pattern-matching structs until the next snapshot (#3215) 2012-08-17 15:34:06 -04:00
Ben Blum
09cf5c1de4 Work around #3215/#3217 use-after-free in typeck::check::alt 2012-08-17 15:07:09 -04:00
Brian Anderson
5026ea0446 rustc: upcall_alloc_c_stack doesn't exist 2012-08-17 11:43:58 -07:00
Lindsey Kuper
280dfd2d29 Default methods with self-calls make it as far as trans. 2012-08-17 11:04:53 -07:00
Lindsey Kuper
3a5c7f52cc Change node_id to def_id in self_info. 2012-08-17 11:04:53 -07:00
Brian Anderson
3ab4b014cf Remove the class keyword 2012-08-17 10:13:45 -07:00
Graydon Hoare
45e7b89279 s/class/struct/ in an error message. 2012-08-16 14:25:53 -07:00
Patrick Walton
bf0d4cc035 rustc: Allow external structs to be constructed. Closes #3012.
Embarrassing.
2012-08-15 21:03:40 -07:00
Brian Anderson
9c6890f488 Convert more core types to camel case 2012-08-15 17:46:05 -07:00
Patrick Walton
6319c8fbc4 rustc: Fix long lines and trailing whitespace 2012-08-15 16:25:42 -07:00
Patrick Walton
3038968f28 rustc: Perform some AST surgery to separate out class fields from methods 2012-08-15 16:20:35 -07:00
Patrick Walton
bdb206f285 rustc: Parse labeled loop, break, and again 2012-08-15 16:20:34 -07:00
Patrick Walton
d54db12155 rustc: Implement automatic reference for method receivers 2012-08-15 16:20:33 -07:00
Patrick Walton
fe9d07dda6 rustc: "as Trait" can now be written "as @Trait".
There is also code for ~Trait and &Trait, but these are currently (incorrectly)
synonyms for "as @Trait" and "as &Trait".
2012-08-15 16:20:31 -07:00
Tim Chevalier
c0140f5c34 Reject empty matches on inhabited types
Closes #3096
2012-08-15 14:57:45 -07:00
Brian Anderson
a83414b6e8 lint: Allow leading underscores on camel case types 2012-08-15 14:54:33 -07:00
Brian Anderson
74c69e1053 Convert more core types to camel case 2012-08-15 14:14:20 -07:00
Brian Anderson
11258310e2 Convert more core types to camel case 2012-08-14 18:26:03 -07:00
Michael Sullivan
e640a66eb4 Make most forms of explicit self work. By-value not implemented. Work on #2585. 2012-08-14 17:40:04 -07:00
Graydon Hoare
4c16ff516d Convert a couple hundred ~""s to ""s, in trans functions. 2012-08-14 16:45:51 -07:00
Lindsey Kuper
fb05f57881 Compile default methods; un-xfail default methods test (cc: #2794). 2012-08-14 09:02:47 -07:00
Brian Anderson
5394e34aa4 core: Camel case some lesser-used modules 2012-08-13 18:59:48 -07:00
Brian Anderson
6b43c0c1ad Stop parsing old operator overloading syntax 2012-08-13 18:59:17 -07:00
Ben Blum
2e1b98d34f Change borrowck error 'the the block' -> 'the block' 2012-08-13 21:53:41 -04:00
Tim Chevalier
c0858f4f7a In typeck::collect::ensure_trait_methods, don't assume the trait was already checked
Instead of using node_id_to_type to look up the trait type, pass it
in as an argument. This handles the case where we check an impl of a trait T
before T has been traversed.
2012-08-13 17:38:58 -07:00
Graydon Hoare
91612dbb7e De-mode-ify a few minor libcore modules. 2012-08-13 17:11:33 -07:00
Patrick Walton
5bd4110170 rustc: Mostly implement region-bounded stack closures 2012-08-13 15:34:36 -07:00
Brian Anderson
395d1ac185 rustc: Enum idents are not in the value namespace. Closes #3186 2012-08-13 15:17:54 -07:00
Lindsey Kuper
b1ec0a582e Default methods get through compilation, but not linkage (cc: #2794). 2012-08-13 10:34:35 -07:00
Lindsey Kuper
0e0833e0b0 Change "iid" identifiers (apparently "interface id") to "trait_id" 2012-08-13 10:34:35 -07:00
Niko Matsakis
9169a1b26a correct glb computation, improve region error msgs
cc #3180
2012-08-11 20:24:11 -07:00
Niko Matsakis
0475406178 infer: better names, docs 2012-08-11 20:24:11 -07:00
Niko Matsakis
a9979c0ae4 switch over some newtyped enums to structs 2012-08-11 20:24:11 -07:00
Niko Matsakis
6d2bef53aa rename var_bindings to be less cryptic 2012-08-11 20:24:11 -07:00
Patrick Walton
7634e2911b Revert "rustc: Make function types have vstores in them"
This reverts commit 0101125a96.
2012-08-10 18:14:55 -07:00
Patrick Walton
0101125a96 rustc: Make function types have vstores in them 2012-08-10 16:22:06 -07:00
Lindsey Kuper
4597fe1320 Remove unneeded imports now that #1873 seems to be fixed 2012-08-10 13:38:21 -07:00
Lindsey Kuper
0c35489858 Move a comment to where it belongs. 2012-08-10 13:38:21 -07:00
Brian Anderson
96fdad2fb7 Change 'ret' to 'return' in an error message 2012-08-10 12:20:58 -07:00