about summary refs log tree commit diff
path: root/src/libsyntax/parse
AgeCommit message (Collapse)AuthorLines
2013-09-14auto merge of #9180 : blake2-ppc/rust/reduce-either, r=catamorphismbors-21/+15
Work a bit towards #9157 "Remove Either". These instances don't need to use Either and are better expressed in other ways (removing allocations and simplifying types).
2013-09-14syntax: Remove use of Either in parse.rsblake2-ppc-21/+15
The arg or capture type alias was actually never used for the capture case, so the code is simplified with `Either<arg, ()>` replaced by `arg`
2013-09-12std: Add Option.{result_or_default,or_default} that uses DefaultErick Tryzelaar-1/+1
2013-09-12std: rename Option::unwrap_or_default() to unwrap_or()Erick Tryzelaar-4/+4
2013-09-11Flag unsafe blocks from format! as compiler-generatedAlex Crichton-1/+1
2013-09-11Implement the notion of a "generated unsafe block"Alex Crichton-1/+1
This way syntax extensions can generate unsafe blocks without worrying about them generating unnecessary unsafe warnings. Perhaps a special keyword could be added to be used in macros, but I don't think that's the best solution.
2013-09-10change type of ExprLoop and ExprBreak elts from ident->name.John Clements-2/+2
Lots of downstream changes in librustc, should be infinitesimally faster.
2013-09-10Delay assignment of node ids until after expansion. Ensures that each AST nodeNiko Matsakis-102/+86
has a unique id. Fixes numerous bugs in macro expansion and deriving. Add two representative tests. Fixes #7971 Fixes #6304 Fixes #8367 Fixes #8754 Fixes #8852 Fixes #2543 Fixes #7654
2013-09-09auto merge of #9005 : alexcrichton/rust/rusty-log, r=brsonbors-10/+7
Also redefine all of the standard logging macros to use more rust code instead of custom LLVM translation code. This makes them a bit easier to understand, but also more flexibile for future types of logging. Additionally, this commit removes the LogType language item in preparation for changing how logging is performed.
2013-09-08syntax: implement labelled breaks for `for`.Huon Wilson-5/+10
`for` desugars to `loop` so it is trivial to just desugar to `loop` while retaining any label.
2013-09-06add test case, cleanupJohn Clements-2/+0
2013-09-06remove unneeded imports, clean up unused var warningsJohn Clements-5/+2
2013-09-06memoization for resolveJohn Clements-2/+2
2013-09-06uncomment mtwt_resolve callsJohn Clements-0/+20
2013-09-06add temporarily unused ctxt field to mac_invoc_ttJohn Clements-5/+5
2013-09-06commentsJohn Clements-8/+31
2013-09-06added gensym_copy mechanism to ensure sharing of pointers in the internerJohn Clements-40/+33
this makes comparisons constant-time, and enables spelling-comparison of identifiers, crucial in many parts of resolve.
2013-09-06added test for ptr_eq on fresh_name-generated identsJohn Clements-1/+32
2013-09-06re-add debug versionJohn Clements-0/+5
2013-09-06drop back to a simple gensym approach for fresh-name.John Clements-12/+3
this is necessary so that the new idents are connected to the original strings. this is important both for error messages, and so that top-level refs get connected to the right things.
2013-09-06adding test case to check marking/unmarkingJohn Clements-1/+6
2013-09-06add hygiene support fns, move them around.John Clements-7/+3
also adds test cases
2013-09-06compare macro tokens hygienically (commented out)John Clements-1/+4
2013-09-05Rename str::from_bytes to str::from_utf8, closes #8985Florian Hahn-1/+1
2013-09-05Remove the __log function for __log_levelAlex Crichton-10/+7
Also redefine all of the standard logging macros to use more rust code instead of custom LLVM translation code. This makes them a bit easier to understand, but also more flexibile for future types of logging. Additionally, this commit removes the LogType language item in preparation for changing how logging is performed.
2013-09-04stop treating char as an integer typeDaniel Micay-12/+21
Closes #7609
2013-09-03auto merge of #8939 : Kimundi/rust/master, r=huonwbors-307/+307
2013-09-03Modernized a few more types in syntax::astMarvin Löbel-307/+307
2013-09-03Incorporate review feedback. Fix #8468.Felix S. Klock II-4/+1
2013-09-03Allow _ param name in trait default method for #8468.Felix S. Klock II-2/+14
2013-09-02switch __field__ hack to <unnamed_field>Daniel Micay-1/+1
avoids conflict with fields actually named `__field__`
2013-09-02Renamed syntax::ast::ident -> IdentMarvin Löbel-98/+98
2013-09-01Modernized a few type names in rustc and syntaxMarvin Löbel-46/+46
2013-08-30fix various warningsErick Tryzelaar-1/+1
2013-08-28auto merge of #8718 : bblum/rust/typeof, r=pcwaltonbors-3/+26
r? anybody
2013-08-27librustc: Fix merge fallout.Patrick Walton-45/+3
2013-08-27librustc: Ensure that type parameters are in the right positions in paths.Patrick Walton-8/+8
This removes the stacking of type parameters that occurs when invoking trait methods, and fixes all places in the standard library that were relying on it. It is somewhat awkward in places; I think we'll probably want something like the `Foo::<for T>::new()` syntax.
2013-08-27librustc: Add support for type parameters in the middle of paths.Patrick Walton-220/+367
For example, `foo::<T>::bar::<U>`. This doesn't enforce that the type parameters are in the right positions, however.
2013-08-27librustc: Remove `&const` and `*const` from the language.Patrick Walton-15/+10
They are still present as part of the borrow check.
2013-08-23Emit a better error for attempted unsafe-pointer-self. Close #8306.Ben Blum-0/+13
2013-08-23Parse and reserve typeof keyword. #3228Ben Blum-3/+13
2013-08-22auto merge of #8626 : kballard/rust/issue-8615, r=catamorphismbors-1/+0
Fixes #8615.
2013-08-21std/extra: changing XXX to FIXME; cleanupTim Chevalier-2/+9
* Get rid of by-value-self workarounds; it works now * Remove type annotations, they're not needed anymore
2013-08-20auto merge of #8573 : mrordinaire/rust/struct-new-as-field-name, r=alexcrichtonbors-23/+0
fix for #8088, along with a test.
2013-08-19Don't skip token after @'staticKevin Ballard-1/+0
Fixes #8615.
2013-08-18auto merge of #8560 : kballard/rust/reserve-yield, r=pcwaltonbors-4/+7
Rename task::yield() to task::deschedule(). Fixes #8494.
2013-08-18auto merge of #8550 : kballard/rust/token-start-err-msg, r=catamorphismbors-1/+3
The span was fixed at some point to point to the correct character, but the error message is still bad. Update it to emit the actual character in question (potentially escaped). Fixes #3747.
2013-08-17auto merge of #8547 : kballard/rust/trait-parse-err-msg, r=alexcrichtonbors-1/+1
When parsing a trait function, the function must end with either `;` or `{` (signifying a default implementation). The error message incorrectly stated that it must be `;` or `}`. Fixes #6610.
2013-08-18fix for #8088 (Cannot name a struct field `new` due to ancient syntax)Do Nhat Minh-23/+0
remove code for parsing ancient syntax added a run-pass test
2013-08-17Fix warnings in librustc and libsyntaxErick Tryzelaar-1/+0