about summary refs log tree commit diff
path: root/src/libsyntax/util
AgeCommit message (Collapse)AuthorLines
2014-02-02libsyntax: Fix tests.Patrick Walton-2/+2
2014-02-02librustc: Stop using `@str` for source.Patrick Walton-11/+11
2014-02-02libsyntax: Introduce an `InternedString` type to reduce `@str` in thePatrick Walton-0/+11
compiler and use it for attributes
2014-01-21Remove unnecessary parentheses.Huon Wilson-1/+1
2014-01-18Rename iterators for consistencyPalmer Cox-5/+5
Rename existing iterators to get rid of the Iterator suffix and to give them names that better describe the things being iterated over.
2014-01-09libsyntax: Renamed types, traits and enum variants to CamelCase.Eduard Burtescu-5/+5
2014-01-07'borrowed pointer' -> 'reference'Brian Anderson-1/+1
2014-01-03libsyntax: De-`@mut` `Interner::vect`Patrick Walton-19/+31
2014-01-03libsyntax: De-`@mut` the interner mapPatrick Walton-10/+15
2014-01-03librustc: De-`@mut` the parse sessionPatrick Walton-3/+3
2014-01-02libsyntax: Fix test and merge fallout.Patrick Walton-1/+1
2013-12-08Remove dead codesKiet Tran-1/+1
2013-11-28Register new snapshotsAlex Crichton-4/+4
2013-11-26auto merge of #10670 : eddyb/rust/node-u32, r=alexcrichtonbors-18/+20
### Rationale There is no reason to support more than 2³² nodes or names at this moment, as compiling something that big (even without considering the quadratic space usage of some analysis passes) would take at least **64GB**. Meanwhile, some can't (or barely can) compile rustc because it requires almost **1.5GB**. ### Potential problems Can someone confirm this doesn't affect metadata (de)serialization? I can't tell myself, I know nothing about it. ### Results Some structures have a size reduction of 25% to 50%: [before](https://gist.github.com/luqmana/3a82a51fa9c86d9191fa) - [after](https://gist.github.com/eddyb/5a75f8973d3d8018afd3). Sadly, there isn't a massive change in the memory used for compiling stage2 librustc (it doesn't go over **1.4GB** as [before](http://huonw.github.io/isrustfastyet/mem/), but I can barely see the difference). However, my own testcase (previously peaking at **1.6GB** in typeck) shows a reduction of **200**-**400MB**.
2013-11-27Shink NodeId, CrateNum, Name and Mrk down to 32 bits on x64.Eduard Burtescu-18/+20
2013-11-26Clean up SmallVector use a bitSteven Fackler-79/+27
2013-11-26Support multiple item macrosSteven Fackler-0/+28
Closes #4375
2013-11-26Add SmallVector to libsyntaxSteven Fackler-0/+213
2013-11-26test: Remove all remaining non-procedure uses of `do`.Patrick Walton-8/+8
2013-11-19libsyntax: Change all uses of `&fn` to `||`.Patrick Walton-1/+1
2013-10-04Remove specific errors for very old obsolete syntaxBenjamin Herr-3/+0
Replaces existing tests for removed obsolete-syntax errors with tests for the resulting regular errors, adds a test for each of the removed parser errors to make sure that obsolete forms don't start working again, removes some obsolete/superfluous tests that were now failing. Deletes some amount of dead code in the parser, also includes some small changes to parser error messages to accomodate new tests.
2013-09-29Remove all usage of @ast::CrateAlex Crichton-2/+2
2013-09-06added string_to_ttsJohn Clements-0/+6
2013-09-06added gensym_copy mechanism to ensure sharing of pointers in the internerJohn Clements-8/+55
this makes comparisons constant-time, and enables spelling-comparison of identifiers, crucial in many parts of resolve.
2013-09-06add hygiene support fns, move them around.John Clements-8/+7
also adds test cases
2013-09-03Modernized a few more types in syntax::astMarvin Löbel-3/+3
2013-09-02Renamed syntax::ast::ident -> IdentMarvin Löbel-1/+1
2013-08-03remove obsolete `foreach` keywordDaniel Micay-2/+2
this has been replaced by `for`
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-2/+2
2013-07-25syntax: Fix #6416 by aborting on errors after test parse.Graydon Hoare-5/+22
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-1/+1
`crate => Crate` `local => Local` `blk => Block` `crate_num => CrateNum` `crate_cfg => CrateConfig` Also, Crate and Local are not wrapped in spanned<T> anymore.
2013-07-18librustc: Forbid `&` pointers (other than `&'static`) inside `@` boxes.Patrick Walton-1/+1
This makes custom borrowing implementations for custom smart pointers sound.
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-4/+8
2013-06-28librustc: Rename Const to FreezePatrick Walton-1/+1
2013-06-25great renaming propagation: syntaxCorey Richardson-8/+2
2013-06-23vec: remove BaseIter implementationDaniel Micay-2/+2
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-16Add copies to type params with Copy boundNiko Matsakis-3/+3
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-41/+41
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-06add test cases for fold traversing macrosJohn Clements-0/+78
2013-06-05add hygiene support functionsJohn Clements-1/+2
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-4/+14
2013-06-05removed obsolete reference to purityJohn Clements-3/+0
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-17/+17
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+5
to libextra
2013-05-20getting rid of interner_key! macroJohn Clements-59/+5
2013-05-20hygiene infrastructure.John Clements-12/+18
- added a hash table to memoize rename and mark operations. - added rename, mark, and resolve fold fns
2013-05-20refactoring test functionsJohn Clements-0/+96
2013-05-09Use a specialized string interner to reduce the need for owned stringsBjörn Steinbrink-0/+56
&str can be turned into @~str on demand, using to_owned(), so for strings, we can create a specialized interner that accepts &str for intern() and find() but stores and returns @~str.
2013-05-08librustc: Stop parsing modes and remove them entirely from the languagePatrick Walton-1/+1
2013-04-30new borrow checker (mass squash)Niko Matsakis-2/+2