summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
AgeCommit message (Collapse)AuthorLines
2013-06-29Remove mutability from unique boxes in the ASTAlex Crichton-4/+8
2013-06-28librustc: Fix merge fallout.Patrick Walton-1/+1
2013-06-28librustc: Rewrite reachability and forbid duplicate methods in type ↵Patrick Walton-2/+249
implementations. This should allow fewer symbols to be exported.
2013-06-28librustc: Remove the broken overloaded assign-ops from the language.Patrick Walton-2/+6
They evaluated the receiver twice. They should be added back with `AddAssign`, `SubAssign`, etc., traits.
2013-06-28libsyntax: Remove "copy" pattern bindings from the languagePatrick Walton-2/+2
2013-06-28libsyntax: Fix merge falloutPatrick Walton-2/+4
2013-06-28librustc: Disallow "mut" from distributing over bindings.Patrick Walton-2/+14
This is the backwards-incompatible part of per-binding-site "mut".
2013-06-26Infer default static/Owned bounds for unbounded heap fns/traits (#7264)Ben Blum-7/+13
2013-06-25auto merge of #7269 : luqmana/rust/drop, r=thestingerbors-1/+1
Finally rename finalize to drop. Closes #4332.
2013-06-25Change finalize -> drop.Luqman Aden-1/+1
2013-06-25great renaming propagation: syntaxCorey Richardson-6/+4
2013-06-25auto merge of #7291 : alexcrichton/rust/static-mut, r=huonwbors-4/+6
This adds both `static mut` items and `static mut` foreign items. This involved changing far less code than I thought it was going to, but the tests seem to pass and the variables seem functional. I'm more than willing to write more tests, so suggestions are welcome! Closes #553
2013-06-25Warning policeJames Miller-1/+1
2013-06-23Support foreign 'static mut' variables as wellAlex Crichton-2/+3
2013-06-23Add 'static mut' items to the languageAlex Crichton-2/+3
2013-06-23Parse and typecheck (not kindcheck) bounds on trait paths.Ben Blum-26/+37
2013-06-23vec: remove BaseIter implementationDaniel Micay-4/+6
I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway.
2013-06-14add IteratorUtil to the preludeDaniel Micay-1/+0
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-19/+18
This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately.
2013-06-12libsyntax: Remove duplicate methods.Luqman Aden-7/+0
2013-06-10std: remove str::{connect,concat}*.Huon Wilson-3/+1
2013-06-10std: replace str::each_split* with an iteratorHuon Wilson-6/+5
2013-06-08remove deprecated vec::{is_empty, len} functionsDaniel Micay-2/+2
2013-06-06auto merge of #6982 : Aatch/rust/better-foreign-error, r=pcwaltonbors-2/+2
I encountered this. A straight fail is not useful and most people aren't going to happily spelunk in `parser.rs`
2013-06-07Provide an actual error when expanding macros to foreign itemsJames Miller-2/+2
2013-06-06Clean up a handful of build warnings.Michael Sullivan-1/+1
2013-06-06Deduplicate words in code commentsAlexei Sholik-1/+1
2013-06-05token_to_ident takes argument by referenceJohn Clements-2/+2
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-7/+7
2013-06-05just use TLS internerJohn Clements-6/+6
2013-06-05change to newer macro escape mechanism, using uints in more placesJohn Clements-0/+7
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-8/+13
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-04libsyntax: Remove `pub impl` from the languagePatrick Walton-5/+4
2013-06-01syntax: move callee_id into the expr_ variantsErick Tryzelaar-25/+52
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-113/+106
2013-05-31auto merge of #6833 : fdr/rust/fix-warnings, r=Aatchbors-1/+0
Fix a laundry list of warnings involving unused imports that glutted up compilation output. There are more, but there seems to be some false positives (where 'remedy' appears to break the build), but this particular set of fixes seems safe.
2013-05-30Remove unnecessary 'use' formsDaniel Farina-1/+0
Fix a laundry list of warnings involving unused imports that glutted up compilation output. There are more, but there seems to be some false positives (where 'remedy' appears to break the build), but this particular set of fixes seems safe.
2013-05-30Remove copy bindings from patterns.Niko Matsakis-56/+51
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+2
2013-05-29libsyntax: Stop parsing mutable fieldsPatrick Walton-6/+4
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-3/+3
2013-05-25auto merge of #6722 : alexcrichton/rust/issue-4219-no-merge-hack, r=brsonbors-34/+1
Changes the int/uint modules to all use macros instead of using the `merge` attribute. It would be nice to have #4375 resolved as well for this, but that can probably come at a later date. Closes #4219.
2013-05-25Use an enum for keywords and intern them to improve parser performanceBjörn Steinbrink-111/+105
Currently, keywords are stored in hashsets that are recreated for every Parser instance, which is quite expensive since macro expansion creates lots of them. Additionally, the parser functions that look for a keyword currently accept a string and have a runtime check to validate that they actually received a keyword. By creating an enum for the keywords and inserting them into the ident interner, we can avoid the creation of the hashsets and get static checks for the keywords. For libstd, this cuts the parse+expansion part from ~2.6s to ~1.6s.
2013-05-24Remove the #[merge] hack from the parserAlex Crichton-34/+1
2013-05-23cleanup warnings from libsyntaxErick Tryzelaar-3/+3
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-22Fix #6342Jihyun Yu-4/+9
2013-05-21Correct span for expr_vecSeo Sanghyeon-1/+1
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-25/+25
2013-05-20detect unused attrs in one more place, allow parsing to continue for allJohn Clements-24/+37
changed a bunch of fatal()'s into err()'s, to allow parsing to proceed.