about summary refs log tree commit diff
path: root/src/libsyntax/parse
AgeCommit message (Collapse)AuthorLines
2013-02-27libsyntax: Forbid mutable vectors. rs=demutingPatrick Walton-0/+15
2013-02-27libsyntax: Forbid `~mut` and `~const`. rs=demutingPatrick Walton-2/+6
2013-02-26libsyntax: add some more explicit copiesErick Tryzelaar-79/+139
2013-02-26libsyntax: add explicit copiesErick Tryzelaar-61/+101
2013-02-26libsyntax: change closures to take fn(&Parser)Erick Tryzelaar-33/+33
2013-02-26auto merge of #5120 : jbclements/rust/macros-have-scope, r=pcwaltonbors-21/+67
r? After this patch, macros declared in a module, function, or block can only be used inside of that module, function or block, with the exception of modules declared with the #[macro_escape] attribute; these modules allow macros to escape, and can be used as a limited macro export mechanism. This pull request also includes miscellaneous comments, lots of new test cases, a few renamings, and a few as-yet-unused data definitions for hygiene.
2013-02-26Macros now leave scopeJohn Clements-21/+67
Macro scope is now delimited by function, block, and module boundaries, except for modules that are marked with #[macro_escape], which allows macros to escape.
2013-02-26libsyntax: Stop parsing `~mut`Patrick Walton-1/+13
2013-02-26libsyntax: change binop_to_str to be pureErick Tryzelaar-1/+1
2013-02-26libsyntax: change token_is_word to take &TokenErick Tryzelaar-1/+1
2013-02-26libsyntax: change Parser::unexpected_last to take &TokenErick Tryzelaar-4/+4
2013-02-26libsyntax: more minor cleanupErick Tryzelaar-32/+32
2013-02-26libsyntax: change token fns to take &TokenErick Tryzelaar-39/+39
2013-02-26libsyntax: change token::to_str to take &TokenErick Tryzelaar-40/+46
2013-02-26libsyntax: minor cleanupErick Tryzelaar-37/+62
2013-02-26libsyntax: change parse_matcher_subseq to take &TokenErick Tryzelaar-8/+8
2013-02-26libsyntax: change attr::parse_seq_* to take &TokenErick Tryzelaar-48/+48
2013-02-26libsyntax: change parse_trait_ref_list to take a &TokenErick Tryzelaar-4/+4
2013-02-25libsyntax: add some explicit copiesErick Tryzelaar-38/+45
2013-02-25libsyntax: change token_is_{word,keyword} to take &TokenErick Tryzelaar-22/+22
2013-02-25libsyntax: minor cleanupErick Tryzelaar-138/+246
2013-02-25libsyntax: change expect to take &token::TokenErick Tryzelaar-80/+82
2013-02-25libsyntax: change flip_delimiter to take a &token::TokenErick Tryzelaar-6/+6
2013-02-25libsyntax: change eat to take a &tokenErick Tryzelaar-40/+40
2013-02-25libsyntax: is_keyword should take a &~strErick Tryzelaar-126/+130
2013-02-25libsyntax: fix the span in parse_bottom_expr's INTERPOLATED handlerErick Tryzelaar-12/+17
2013-02-25Stop parsing capture clausesBen Striegel-38/+20
2013-02-25libsyntax: make lexer vecs_implicitly_copyable-freeErick Tryzelaar-8/+17
2013-02-25libsyntax: Convert ast::attribute_ to store a @meta_itemErick Tryzelaar-1/+1
2013-02-22libsyntax: De-mut the parser. rs=demutingPatrick Walton-304/+305
2013-02-21auto merge of #5077 : jbclements/rust/increase-monomorphization-depth-limit, ↵bors-10/+58
r=catamorphism It appears that using deriving_eq/auto_encode on ASTs bumps up against the "gee this looks like infinite unfolding" limit of 10 in monomorphization. Increasing it to 30 seems to solve this problem for me.... Also, commenting and a few renames.
2013-02-21Cleanup, commenting, trivial renamingJohn Clements-10/+58
2013-02-21Remove the last bits of structural records from tests/rustc/rusti/rustpkg.Luqman Aden-1/+1
2013-02-21auto merge of #5071 : luqmana/rust/derec, r=pcwaltonbors-121/+144
Rid libsyntax of records and get rid of the last piece in `librustc/front/test.rs`.
2013-02-21librustc: Separate the rest of the trait bounds with `+` and stop parsing ↵Patrick Walton-3/+14
space-separated ones. rs=plussing
2013-02-21Get rid of structural records in libsyntax and the last bit in librustc.Luqman Aden-121/+144
2013-02-20librustc: Separate most trait bounds with '+'. rs=plussingPatrick Walton-7/+7
2013-02-19auto merge of #4999 : erickt/rust/incoming, r=brsonbors-28/+28
This patch series is doing a couple things with the ultimate goal of removing `#[allow(vecs_implicitly_copyable)]`, although I'm not quite there yet. The main change is passing around `@~str`s in most places, and using `ref`s in others. As far as I could tell, there are no performance changes with these patches, and all the tests pass on my mac.
2013-02-19convert ast::meta_items to take @~strsErick Tryzelaar-16/+16
2013-02-19convert syntax::attr to use @~strsErick Tryzelaar-7/+7
2013-02-19Change functions from taking ~str to taking &strErick Tryzelaar-3/+3
2013-02-19libsyntax: convert interner into a modern structErick Tryzelaar-2/+2
2013-02-19auto merge of #5002 : catamorphism/rust/one-tuples, r=graydonbors-8/+28
r? @graydon - This is for greater uniformity (for example, macros that generate tuples). rustc already supported 1-tuple patterns, but there was no way to construct a 1-tuple term. @graydon , as far as your comment on #4898 - it did turn out to be solvable inside the macro (since @luqmana already fixed it using structs instead), but I still think it's a good idea to allow 1-tuples, for uniformity. I don't think anyone is likely to trip over it, and I'm not too worried that it changes the amount of ambiguity.
2013-02-18rustc: For one-tuples, make parsing and printing the type workTim Chevalier-2/+11
and add a test to reflect-visit-data
2013-02-17libsyntax: Update view_item_use/import to reflect actual usageLuqman Aden-6/+6
2013-02-17syntax: Allow 1-tuple expressionsTim Chevalier-6/+17
This is for greater uniformity (for example, macros that generate tuples). rustc already supported 1-tuple patterns, but there was no way to construct a 1-tuple term.
2013-02-16Parse (and discard) lifetime declarations on function typesNiko Matsakis-17/+29
2013-02-16Permit lifetimes to appear in type parameter lists and after `&`. Lifetimes inNiko Matsakis-11/+99
type parameter lists are currently ignored, but `&'a T` is equivalent to `&a/T`.
2013-02-15librustc: Stop parsing `impl Type : Trait` and fix several declarations that ↵Patrick Walton-11/+14
slipped through. r=tjc
2013-02-15libsyntax: Remove move as a keyword.Luqman Aden-2/+2