about summary refs log tree commit diff
path: root/src/libsyntax/ext/tt/macro_parser.rs
AgeCommit message (Collapse)AuthorLines
2013-08-11auto merge of #8455 : nikomatsakis/rust/issue-5762-objects-dralston-d, r=graydonbors-2/+2
Fix #5762 and various other aspects of object invocation. r? @graydon
2013-08-11libsyntax: Update from `@Object` to `@mut Object` as requiredNiko Matsakis-2/+2
2013-08-11syntax: Shrink enum Token and enum nonterminalblake2-ppc-4/+4
`enum Token` was 192 bytes (64-bit), as pointed out by pnkfelix; the only bloating variant being `INTERPOLATED(nonterminal)`. Updating `enum nonterminal` to use ~ where variants included big types, shrunk size_of(Token) to 32 bytes (64-bit). I am unsure if the `nt_ident` variant should have an indirection, with ast::ident being only 16 bytes (64-bit), but without this, enum Token would be 40 bytes. A dumb benchmark says that compilation time is unchanged, while peak memory usage for compiling std.rs is down 3% Before:: $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc --cfg stage1 src/libstd/std.rs 19.00user 0.39system 0:19.41elapsed 99%CPU (0avgtext+0avgdata 627820maxresident)k 0inputs+28896outputs (0major+228665minor)pagefaults 0swaps $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc -O --cfg stage1 src/libstd/std.rs 31.64user 0.34system 0:32.02elapsed 99%CPU (0avgtext+0avgdata 629876maxresident)k 0inputs+22432outputs (0major+229411minor)pagefaults 0swaps After:: $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc --cfg stage1 src/libstd/std.rs 19.07user 0.45system 0:19.55elapsed 99%CPU (0avgtext+0avgdata 609384maxresident)k 0inputs+28896outputs (0major+221997minor)pagefaults 0swaps $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc -O --cfg stage1 src/libstd/std.rs 31.90user 0.34system 0:32.28elapsed 99%CPU (0avgtext+0avgdata 612080maxresident)k 0inputs+22432outputs (0major+223726minor)pagefaults 0swaps
2013-08-08Allow attributes to appear as macro argumentsNiko Matsakis-0/+2
Fixes #8393
2013-08-03remove obsolete `foreach` keywordDaniel Micay-6/+6
this has been replaced by `for`
2013-08-02replace `range` with an external iteratorDaniel Micay-3/+2
2013-08-01std: Change `Times` trait to use `do` instead of `for`blake2-ppc-1/+1
Change the former repetition:: for 5.times { } to:: do 5.times { } .times() cannot be broken with `break` or `return` anymore; for those cases, use a numerical range loop instead.
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-4/+4
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-2/+2
`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-17librustc: Remove all uses of "copy".Patrick Walton-11/+13
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-2/+1
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-25great renaming propagation: syntaxCorey Richardson-5/+3
2013-06-23vec: remove BaseIter implementationDaniel Micay-4/+4
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-4/+4
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-11fix tests, remove some warningsHuon Wilson-3/+2
2013-06-10std: remove str::{connect,concat}*.Huon Wilson-1/+1
2013-06-09std: remove fold[lr] in favour of iteratorsHuon Wilson-2/+2
2013-06-08std: remove each[i]_mut functions, in favour of iterators.Huon Wilson-1/+2
2013-06-05token_to_ident takes argument by referenceJohn Clements-4/+4
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-10/+10
2013-06-05just use TLS internerJohn Clements-7/+7
2013-05-30Remove copy bindings from patterns.Niko Matsakis-1/+1
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+3
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+3
to libextra
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-2/+2
2013-05-14syntax: Remove #[allow(vecs_implicitly_copyable)]Alex Crichton-21/+20
2013-05-11Warning policeTim Chevalier-2/+2
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-8/+0
2013-04-27only use #[no_core] in libcoreDaniel Micay-1/+0
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-12/+12
2013-04-03rename Linear{Map,Set} => Hash{Map,Set}Daniel Micay-6/+6
2013-04-03hashmap: rm linear namespaceDaniel Micay-1/+1
2013-03-29librustc: Remove `fail_unless!`Patrick Walton-1/+1
2013-03-28Removing unused importsAlex Crichton-1/+1
2013-03-26syntax: Removing uses of HashMapAlex Crichton-8/+8
2013-03-26Remove unused imports throughoutAlex Crichton-5/+2
2013-03-22librustc: Add explicit lifetime binders and new lifetime notation in ↵Patrick Walton-1/+1
core/std/syntax/rustc
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-2/+2
2013-03-08syntax: Remove uses of DVecAlex Crichton-9/+9
2013-03-07librustc: Convert all uses of `assert` over to `fail_unless!`Patrick Walton-1/+1
2013-03-04Remove unused imports throughout src/Alex Crichton-3/+0
2013-03-02libsyntax: add some more explicit copies for vecs_implicitly_copyable)Erick Tryzelaar-1/+1
2013-03-01Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-0/+2
2013-02-28Fix implicit leaks of imports throughout librariesAlex Crichton-0/+2
Also touch up use of 'pub' and move some tests around so the tested functions don't have to be 'pub'
2013-02-26libsyntax: add some more explicit copiesErick Tryzelaar-8/+13
2013-02-26libsyntax: remove vecs_implicitly_copyable from the syntax extensionsErick Tryzelaar-6/+7
2013-02-26libsyntax: change token::to_str to take &TokenErick Tryzelaar-2/+2
2013-02-25libsyntax: add some explicit copiesErick Tryzelaar-1/+1
2013-02-22libsyntax: De-mut the parser. rs=demutingPatrick Walton-4/+4