summary refs log tree commit diff
path: root/src/libsyntax/ext
AgeCommit message (Collapse)AuthorLines
2013-06-07syntax: move functions from deriving/mod to deriving/generic.Huon Wilson-277/+199
These are now only called in generic and can be private. This includes manually inlining/merging some that are called once.
2013-06-06Clean up a handful of build warnings.Michael Sullivan-11/+11
2013-06-05moved TLS of sctable to ast_util, hid parameter in hygiene callsJohn Clements-44/+28
2013-06-05add hygiene support functionsJohn Clements-4/+64
2013-06-05remove unused get_ident_interner'sJohn Clements-4/+3
2013-06-05removed unused imports (and one unused argument)John Clements-8/+5
2013-06-05remove interner from tt_readerJohn Clements-10/+3
2013-06-05remove unused cx'sJohn Clements-96/+96
2013-06-05token_to_ident takes argument by referenceJohn Clements-14/+14
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-57/+56
2013-06-05removed some interner fieldsJohn Clements-1/+1
2013-06-05just use TLS internerJohn Clements-46/+53
2013-06-05rename repr to nameJohn Clements-9/+9
2013-06-05change to newer macro escape mechanism, using uints in more placesJohn Clements-115/+138
2013-06-05add renaming and sctable funsJohn Clements-1/+48
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-13/+27
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-01auto merge of #6896 : nickdesaulniers/rust/issue4501, r=brsonbors-24/+7
review? @brson
2013-06-01Swap return value of pipes::init Fixes #4501Nick Desaulniers-24/+7
2013-06-01syntax: move callee_id into the expr_ variantsErick Tryzelaar-10/+3
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-71/+99
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-31auto merge of #6833 : fdr/rust/fix-warnings, r=Aatchbors-2/+1
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-30Remove unnecessary 'use' formsDaniel Farina-2/+1
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-13/+13
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-6/+59
2013-05-29libsyntax: Stop parsing mutable fieldsPatrick Walton-1/+1
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-12/+12
2013-05-25Use an enum for keywords and intern them to improve parser performanceBjörn Steinbrink-2/+3
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-23cleanup warnings from libsyntaxErick Tryzelaar-2/+0
2013-05-22libsyntax: Fix more merge fallout.Patrick Walton-2/+2
2013-05-22syntax: Change syntax extensions to expand to `std::foo` instead of `core::foo`Patrick Walton-53/+54
2013-05-22librustc: Change `std` to `extra` throughout libsyntax and librustcPatrick Walton-12/+12
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-1/+66
to libextra
2013-05-22Fix ICE in macrosCorey Richardson-4/+7
2013-05-22syntax/ext: convert all AstBuilder methods to a uniform syntax.Huon Wilson-1686/+998
2013-05-22syntax/ext: migrate build.rs functions to AstBuilder methods.Huon Wilson-925/+1126
2013-05-22syntax/ext: collect the ast building traits into a single trait.Huon Wilson-493/+420
2013-05-22syntax/ext: modernise ext_ctxt to be CamelCase and use new.Huon Wilson-324/+323
2013-05-22syntax/ext: Remove the trait-object indirection of the ext_ctxt object.Huon Wilson-106/+82
2013-05-21syntax/ext: remove the ~str dependence of the deriving code.Huon Wilson-79/+81
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-45/+42
2013-05-20Implement a lint mode to detect unnecessary allocationsAlex Crichton-3/+3
2013-05-20getting rid of interner_key! macroJohn Clements-1/+1
2013-05-20hygiene infrastructure.John Clements-35/+58
- added a hash table to memoize rename and mark operations. - added rename, mark, and resolve fold fns
2013-05-19Register snapshotsBrian Anderson-15/+0
2013-05-18Made bytes!() accept a list of string, integer or char literalsMarvin Löbel-5/+50
2013-05-17Re-implement lint with less emphasis on item idsAlex Crichton-6/+7
This way it's much easier to add lints throughout compilation correctly, and functions on impls can alter the way lints are emitted.
2013-05-16auto merge of #6530 : huonw/rust/deriving-deepclone, r=bstriebors-7/+43
2013-05-16syntax: use fmt! over + in deriving/cloneHuon Wilson-6/+6