Commit Graph

370 Commits

Author SHA1 Message Date
Patrick Walton 8ef4551904 rustc: Implement foreign constants.
This is needed for a lot of Apple libraries, as Apple tends to put a lot of
globals in dynamic libraries.
2012-08-25 15:09:33 -07:00
Tim Chevalier 5e22fb9c7f Remove match check 2012-08-24 22:28:12 -07:00
Paul Stansifer 18180fd5da "earley_parser" -> "macro_parser" Let's be less confusing. 2012-08-24 18:20:17 -07:00
Paul Stansifer e54acbf848 Document the macro parser a little more. 2012-08-24 18:20:17 -07:00
Graydon Hoare c284b8b1dc Start using core::path2::Path in a lot of places. 2012-08-24 15:51:16 -07:00
Niko Matsakis a8f1bee457 fix some unused pattern binding warnings 2012-08-24 15:37:21 -07:00
Niko Matsakis e47d2f6060 extend liveness to treat bindings more like other variables
This results in a lot of warnings in rustc.  I left them in because
many are bugs and we should fix our code, but Graydon asked that
I not touch every file in the codebase.
2012-08-24 12:55:08 -07:00
Paul Stansifer aa024acae3 Use a faked-up function as a key, because functions aren't identical cross-crate in Windows. 2012-08-24 12:20:06 -07:00
Michael Sullivan 0f996f70a6 Remove purity from fn_decl and move it out to containing AST elements. 2012-08-23 19:40:01 -07:00
Niko Matsakis a08f3a7d4d More complete fix to #3162 (borrowck bug related to access to rec fields) 2012-08-23 18:54:08 -07:00
Tim Chevalier 80d129aa45 Parenthesize unary move exprs in prettyprinter
Closes #3220
2012-08-23 16:59:05 -07:00
Paul Stansifer 129c4b694b Give a special error message when [de]serializing fails because the interner isn't in TLS yet. 2012-08-23 11:47:35 -07:00
Paul Stansifer 89bbaff84f m1!{...} is now forbidden. Use m1!(...) instead. 2012-08-23 11:14:15 -07:00
Paul Stansifer 11b640d990 Pretty-print macros with () instead of {}. 2012-08-23 11:14:15 -07:00
Paul Stansifer 77e83d83a9 Change calls of proto! to use parens. 2012-08-23 11:14:15 -07:00
Paul Stansifer c74a442e86 Eliminate some extraneous curly brackets inside invocations of macro_rules!. 2012-08-23 11:14:14 -07:00
Paul Stansifer 29f32b4a72 m1!{...} -> m1!(...) 2012-08-23 11:14:14 -07:00
Niko Matsakis 511e7626ae Infer variance of types with respect to the region parameter.
A similar approach could be used for type parameters.

Fixes #2282.
2012-08-23 06:30:43 -07:00
Ben Blum 5b25fc918a Parse and typecheck moving out of enums (#2329) 2012-08-22 20:40:25 -04:00
Tim Chevalier 1b804ce343 Merge find_linkage_attrs with find_linkage_metas
This gets rid of a gratuitous `match check`.
2012-08-22 16:43:23 -07:00
Tim Chevalier 0a5f88a240 Change the log level to be an enum rather than an int
This allows for eliminating a match check.
2012-08-22 16:14:39 -07:00
Paul Stansifer 1153b5dcc8 intern identifiers 2012-08-22 14:59:25 -07:00
Paul Stansifer 7317bf8792 pre-intern some fixed names so they can be used as constants 2012-08-22 14:59:24 -07:00
Paul Stansifer 9a7890d73a Centralize ident interner generation. 2012-08-22 14:59:24 -07:00
Tim Chevalier 7284969292 Eliminate many match checks in rustc 2012-08-22 12:25:08 -07:00
Niko Matsakis 652b312122 more sound treatment of fn& regions; change all & to be distinct 2012-08-21 10:28:34 -07:00
Michael Sullivan 457e78cd53 Make by-val explicit self actually work. Closes #2585. 2012-08-17 17:14:32 -07:00
Michael Sullivan 2b457c2654 Pretty print explicit self types. Work on #2585. 2012-08-17 17:14:32 -07:00
Michael Sullivan a65366d548 Parse explicit self in more places. Work on #2585. 2012-08-17 17:14:32 -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
Lindsey Kuper eb834fdb81 Stop parsing iface. 2012-08-17 14:32:34 -07:00
Eric Holk 7bae3449ce Move select macro into another file, so it can be including in multiple tests.
Fixing long lines.
2012-08-17 12:39:51 -07:00
Eric Holk 9260b02daa Track spans better in the protocol compiler so we can get better error messages. 2012-08-17 12:39:51 -07:00
Brian Anderson 3ab4b014cf Remove the class keyword 2012-08-17 10:13:45 -07:00
Patrick Walton b592d57311 libsyntax: Make include_bin! generate fixed-length vectors.
This is so that we don't generate 170,000-line LLVM functions in Servo.
2012-08-16 17:20:08 -07:00
Patrick Walton 2489baf82e libsyntax: Fix parsing of "loop unsafe".
It was getting misparsed as a label.
2012-08-16 15:19:47 -07:00
Patrick Walton 0d7bef4d48 libsyntax: Fix wrong pretty printing of private fields 2012-08-15 17:48:47 -07:00
Brian Anderson af43613795 Long lines 2012-08-15 17:32:19 -07:00
Patrick Walton a78030fbaa libsyntax: Parse tuple and unit structs 2012-08-15 17:11:13 -07:00
Brian Anderson 913f7bdae7 Modify pipec to not emit calls to some and none 2012-08-15 16:53:41 -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 353c632c2d libsyntax: Parse nested enums 2012-08-15 16:20:34 -07:00
Patrick Walton bdb206f285 rustc: Parse labeled loop, break, and again 2012-08-15 16:20:34 -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
Brian Anderson fd0f616ceb pipes: Rename the pipec-generated buffer to __Buffer
Conforms to camel case convention and hides it away so it doesn't conflict
with user code
2012-08-15 15:09:39 -07:00
Brian Anderson 74c69e1053 Convert more core types to camel case 2012-08-15 14:14:20 -07:00
Eric Holk 1e96099918 Add trace_macros! 2012-08-15 11:45:32 -07:00
Tim Chevalier 6d68658b9a Make autoserialize not generate alt checks 2012-08-14 22:13:25 -07:00
Brian Anderson 11258310e2 Convert more core types to camel case 2012-08-14 18:26:03 -07:00