about summary refs log tree commit diff
path: root/src/libsyntax/ext/tt/transcribe.rs
AgeCommit message (Collapse)AuthorLines
2013-09-02Renamed syntax::ast::ident -> IdentMarvin Löbel-5/+5
2013-09-01Modernized a few type names in rustc and syntaxMarvin Löbel-2/+2
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-1/+1
`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-07-17libsyntax: Remove some multi-gigabyte clones that were preventing ↵Patrick Walton-3/+3
bootstrapping on Windows.
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-17/+25
2013-07-17librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.Patrick Walton-1/+1
2013-06-25great renaming propagation: syntaxCorey Richardson-4/+2
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-09std: remove fold[lr] in favour of iteratorsHuon Wilson-6/+4
2013-06-06Clean up a handful of build warnings.Michael Sullivan-2/+2
2013-06-05removed unused imports (and one unused argument)John Clements-2/+2
2013-06-05remove interner from tt_readerJohn Clements-5/+1
2013-06-05token_to_ident takes argument by referenceJohn Clements-3/+3
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-7/+8
2013-06-05just use TLS internerJohn Clements-5/+5
2013-05-30Remove copy bindings from patterns.Niko Matsakis-6/+6
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+2
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-22Fix ICE in macrosCorey Richardson-4/+7
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-5/+5
2013-05-14syntax: Remove #[allow(vecs_implicitly_copyable)]Alex Crichton-7/+7
2013-04-27only use #[no_core] in libcoreDaniel Micay-4/+0
2013-04-24Remove needless FIXME. Fixes #2811.Niko Matsakis-2/+0
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-2/+2
2013-04-03auto merge of #5696 : thestinger/rust/hashmap, r=sanxiynbors-4/+4
This naming is free now that `oldmap` has finally been removed, so this is a search-and-replace to take advantage of that. It might as well be called `HashMap` instead of being named after the specific implementation, since there's only one. SipHash distributes keys so well that I don't think there will ever be much need to use anything but a simple hash table with open addressing. If there *is* a better way to do it, it will probably be better in all cases and can just be the default implementation. A cuckoo-hashing implementation combining a weaker hash with SipHash could be useful, but that won't be as general purpose - you would need to write a separate fast hash function specialized for the type to really take advantage of it (like taking a page from libstdc++/libc++ and just using the integer value as the "hash"). I think a more specific naming for a truly alternative implementation like that would be fine, with the nice naming reserved for the general purpose container.
2013-04-03rename Linear{Map,Set} => Hash{Map,Set}Daniel Micay-4/+4
2013-04-03hashmap: rm linear namespaceDaniel Micay-1/+1
2013-03-29field renamingJohn Clements-28/+29
2013-03-26syntax: Removing uses of HashMapAlex Crichton-4/+8
2013-03-26Remove unused imports throughoutAlex Crichton-1/+0
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-4/+4
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-10/+23
For bootstrapping purposes, this commit does not remove all uses of the keyword "pure" -- doing so would cause the compiler to no longer bootstrap due to some syntax extensions ("deriving" in particular). Instead, it makes the compiler ignore "pure". Post-snapshot, we can remove "pure" from the language. There are quite a few (~100) borrow check errors that were essentially all the result of mutable fields or partial borrows of `@mut`. Per discussions with Niko I think we want to allow partial borrows of `@mut` but detect obvious footguns. We should also improve the error message when `@mut` is erroneously reborrowed.
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-2/+2
2013-03-06removed unused abstraction over paths and value_pathsJohn Clements-0/+1
2013-03-05core: convert vec::{last,last_opt} to return referencesErick Tryzelaar-1/+1
2013-03-04Remove unused imports throughout src/Alex Crichton-2/+0
2013-03-02libsyntax: add some more explicit copies for vecs_implicitly_copyable)Erick Tryzelaar-5/+6
2013-02-26libsyntax: add some more explicit copiesErick Tryzelaar-2/+2
2013-02-26libsyntax: remove vecs_implicitly_copyable from the syntax extensionsErick Tryzelaar-15/+20
2013-02-22libsyntax: De-mut the pipe compilerPatrick Walton-1/+1
2013-02-21librustc: De-mut some of transPatrick Walton-6/+6
2013-02-07librustc: Lots of de-muting. rs=demutingPatrick Walton-68/+83
2013-02-04lines too longJohn Clements-11/+12
2013-02-04demodeing, un-gc-ingJohn Clements-26/+27
It looks to me like the string_reader and tt_reader structs are GC pointers only because they predate the modern borrow system. This commit leaves the type names string_reader and tt_reader alone (they still refer to GC-ed pointers), but internally the functions now use borrowed pointers to refer to these structures. My guess would be that it's possible to move this change outward and not use the GCed pointers at all, but that change looks like it could be a larger one. Actually, I'm delighted at how quick this change was.
2013-02-03oldmap: use &K instead of K in find and getDaniel Micay-1/+1
2013-02-03rename map -> oldmap and mark it as deprecatedDaniel Micay-4/+4
LinearMap is quite a bit faster, and is fully owned/sendable without requiring copies. The older std::map also doesn't use explicit self and relies on mutable fields.
2013-01-31test cases, cleanupJohn Clements-4/+5