about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2013-06-05added fresh-name fnJohn Clements-0/+28
2013-06-05add hygiene support functionsJohn Clements-27/+78
2013-06-05remove unused get_ident_interner'sJohn Clements-5/+5
2013-06-05removed unused imports (and one unused argument)John Clements-18/+10
2013-06-05remove interner field from string_readerJohn Clements-28/+16
2013-06-05remove interner from tt_readerJohn Clements-11/+3
2013-06-05remove unused cx'sJohn Clements-96/+96
2013-06-05token_to_ident takes argument by referenceJohn Clements-22/+22
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-132/+165
2013-06-05removed some interner fieldsJohn Clements-10/+1
2013-06-05just use TLS internerJohn Clements-75/+84
2013-06-05rename repr to nameJohn Clements-104/+104
2013-06-05removed obsolete reference to purityJohn Clements-3/+0
2013-06-05parser commentsJohn Clements-1/+2
2013-06-05comments & whitespaceJohn Clements-0/+3
2013-06-05change to newer macro escape mechanism, using uints in more placesJohn Clements-128/+166
2013-06-05add renaming and sctable funsJohn Clements-1/+48
2013-06-05auto merge of #6948 : huonw/rust/less-alloc, r=bstriebors-2/+2
2013-06-05syntax: Remove an unnecessary allocation.Huon Wilson-2/+2
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-59/+111
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-04libsyntax: Remove `pub impl` from the languagePatrick Walton-13/+11
2013-06-03auto merge of #6826 : cmr/rust/terminfo, r=thestingerbors-10/+18
This will let *everyone* (non-windows, at least) who can see colors see the glorious colors rustc produces.
2013-06-01auto merge of #6896 : nickdesaulniers/rust/issue4501, r=brsonbors-24/+7
review? @brson
2013-06-01auto merge of #6807 : catamorphism/rust/rustpkg-extern-mod, r=catamorphismbors-0/+15
r? @graydon Addresses #5681
2013-06-01syntax: Add an each_view_item method on traitsTim Chevalier-0/+15
2013-06-01Swap return value of pipes::init Fixes #4501Nick Desaulniers-24/+7
2013-06-01syntax: move callee_id into the expr_ variantsErick Tryzelaar-88/+127
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-338/+360
2013-05-31auto merge of #6851 : alexcrichton/rust/bugfixes, r=pcwaltonbors-957/+232
Closes #5090 by using the excellent new generic deriving code Promotes the unreachable code attribute to a lint attribute (instead of always being a warning) Fixes some edge cases when creating hashmaps/hashsets and also when consuming them. (fixes #5998)
2013-05-31extra::term: better error handling and win32 compatCorey Richardson-9/+9
2013-05-31extra::term overhaulCorey Richardson-10/+18
2013-05-31auto merge of #6833 : fdr/rust/fix-warnings, r=Aatchbors-6/+2
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-30Rewrite deriving(Decodable, Encodable)Alex Crichton-957/+232
Now it uses the generic deriving code and should in theory work in all cases.
2013-05-30Fix parser testNiko Matsakis-1/+1
2013-05-30Remove unnecessary 'use' formsDaniel Farina-6/+2
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-81/+72
2013-05-30Remove a bunch of unnecessary allocations and copiesBjörn Steinbrink-1/+2
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-8/+112
2013-05-29libsyntax: Stop parsing mutable fieldsPatrick Walton-10/+5
2013-05-29libsyntax: Make `drop` no longer a keywordPatrick Walton-2/+0
2013-05-28Move checking for moves and initialization of local variables and patterns intoNiko Matsakis-18/+13
borrow checker and generalize what moves are allowed. Fixes a nasty bug or two in the pattern move checking code. Unifies dataflow code used for initialization and other things. First step towards once fns. Everybody wins. Fixes #4384. Fixes #4715. cc once fns (#2202), optimizing local moves (#5016).
2013-05-27Prevent refcount cycles during lintingAlex Crichton-43/+66
Shaves off ~600MB of memory while compiling rustc
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-42/+42
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-245/+280
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-24auto merge of #6680 : ben0x539/rust/slashslashslash, r=graydonbors-2/+9
There's currently a function in the lexer that rejects a line comment that is all slashes from being a doc comment. I think the intention was that you could draw boxes, ///////////// // like so // ///////////// Since a line doc comment split up over multiple paragraphs will have a "blank" line that is just /// between the paragraphs, that would get mistaken for a box segment, lexed as a regular comment, and go missing from the sequence of doc comment attributes before they were reassembled by rustdoc into markdown input. I figure the best plan here is to just declare that a comment that is exactly `///` is a doc comment after all, and to only omit comments with four slashes or more, which is what this commit implements. Can't really draw boxes that narrow, anyway.
2013-05-23cleanup warnings from libsyntaxErick Tryzelaar-7/+4
2013-05-23core: remove iter_bytes helper functionsErick Tryzelaar-11/+25
2013-05-22libsyntax: Fix more merge fallout.Patrick Walton-2/+2