about summary refs log tree commit diff
path: root/src/librustc/metadata/creader.rs
AgeCommit message (Collapse)AuthorLines
2013-08-11librustc: Convert from `@Object` to `@mut Object` as neededNiko Matsakis-3/+3
2013-08-10std: Transform.find_ -> .findErick Tryzelaar-1/+1
2013-08-10std: Rename Iterator.transform -> .mapErick Tryzelaar-1/+1
cc #5898
2013-08-09std/rustc/rustpkg/syntax: Support the `extern mod = ...` formTim Chevalier-15/+30
This commit allows you to write: extern mod x = "a/b/c"; which means rustc will search in the RUST_PATH for a package with ID a/b/c, and bind it to the name `x` if it's found. Incidentally, move get_relative_to from back::rpath into std::path
2013-08-03remove obsolete `foreach` keywordDaniel Micay-6/+6
this has been replaced by `for`
2013-08-02librustc: Introduce a new visitor type based on traits and port syntax to it.Patrick Walton-5/+5
This is preparation for removing `@fn`. This does *not* use default methods yet, because I don't know whether they work. If they do, a forthcoming PR will use them. This also changes the precedence of `as`.
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-6/+6
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-5/+5
`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-20syntax: modernise attribute handling in syntax::attr.Huon Wilson-19/+23
This does a number of things, but especially dramatically reduce the number of allocations performed for operations involving attributes/ meta items: - Converts ast::meta_item & ast::attribute and other associated enums to CamelCase. - Converts several standalone functions in syntax::attr into methods, defined on two traits AttrMetaMethods & AttributeMethods. The former is common to both MetaItem and Attribute since the latter is a thin wrapper around the former. - Deletes functions that are unnecessary due to iterators. - Converts other standalone functions to use iterators and the generic AttrMetaMethods rather than allocating a lot of new vectors (e.g. the old code would have to allocate a new vector to use functions that operated on &[meta_item] on &[attribute].) - Moves the core algorithm of the #[cfg] matching to syntax::attr, similar to find_inline_attr and find_linkage_metas. This doesn't have much of an effect on the speed of #[cfg] stripping, despite hugely reducing the number of allocations performed; presumably most of the time is spent in the ast folder rather than doing attribute checks. Also fixes the Eq instance of MetaItem_ to correctly ignore spaces, so that `rustc --cfg 'foo(bar)'` now works.
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-7/+10
2013-07-07Stop allocating view_items with @James Miller-1/+1
2013-06-29Great renaming: propagate throughout the rest of the codebaseCorey Richardson-3/+2
2013-06-27Remove many shared pointersPhilipp Brüschweiler-17/+13
Mostly just low-haning fruit, i.e. function arguments that were @ even though & would work just as well. Reduces librustc.so size by 200k when compiling without -O, by 100k when compiling with -O.
2013-06-23vec: remove BaseIter implementationDaniel Micay-6/+7
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-21vec: rm old_iter implementations, except BaseIterDaniel Micay-10/+10
The removed test for issue #2611 is well covered by the `std::iterator` module itself. This adds the `count` method to `IteratorUtil` to replace `EqIter`.
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-16/+16
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-12Visitor refactoring: Step 1, couple (Env, vt<Env>) together in a tuple.Felix S. Klock II-1/+1
2013-06-06Clean up a handful of build warnings.Michael Sullivan-1/+1
2013-06-05token_to_ident takes argument by referenceJohn Clements-4/+4
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-5/+7
2013-05-30Remove copy bindings from patterns.Niko Matsakis-3/+3
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+1
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-3/+3
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-1/+2
to libextra
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-4/+4
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-8/+0
2013-04-27only use #[no_core] in libcoreDaniel Micay-3/+0
2013-04-19rustc: de-mode + fallout from libsyntax changesAlex Crichton-6/+6
2013-04-03rename Linear{Map,Set} => Hash{Map,Set}Daniel Micay-2/+2
2013-04-03hashmap: rm linear namespaceDaniel Micay-1/+1
2013-03-31Fix warningsBrian Anderson-1/+0
2013-03-29Add AbiSet and integrate it into the AST.Niko Matsakis-6/+2
I believe this patch incorporates all expected syntax changes from extern function reform (#3678). You can now write things like: extern "<abi>" fn foo(s: S) -> T { ... } extern "<abi>" mod { ... } extern "<abi>" fn(S) -> T The ABI for foreign functions is taken from this syntax (rather than from an annotation). We support the full ABI specification I described on the mailing list. The correct ABI is chosen based on the target architecture. Calls by pointer to C functions are not yet supported, and the Rust type of crust fns is still *u8.
2013-03-29librustc: Remove `fail_unless!`Patrick Walton-1/+1
2013-03-28Removing unused importsAlex Crichton-1/+1
2013-03-26rustc: Remove uses of oldmap::HashMapAlex Crichton-3/+3
2013-03-20rustc: Remove some bad copies throughoutAlex Crichton-4/+4
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-0/+2
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-5/+5
2013-03-13Remove `++` mode from the compiler (it is parsed as `+` mode)Niko Matsakis-1/+1
and obsolete `-` mode altogether (it *was* parsed as `+` mode).
2013-03-07librustc: Convert all uses of `assert` over to `fail_unless!`Patrick Walton-1/+1
2013-03-05core: convert vec::{last,last_opt} to return referencesErick Tryzelaar-1/+3
2013-03-05rustc: remove some copiesErick Tryzelaar-1/+1
2013-03-04Remove unused imports throughout src/Alex Crichton-3/+0
2013-03-02librustc: Forbid chained imports and fix the logic for one-level renaming ↵Patrick Walton-1/+1
imports
2013-02-20librustc: Get rid of structural records save for front/test.rs.Luqman Aden-11/+19
2013-02-19librustc: convert creader and cstore to use @~strsErick Tryzelaar-27/+26
2013-02-19librustc: minor cleanupErick Tryzelaar-30/+31
2013-02-19convert syntax::attr to use @~strsErick Tryzelaar-10/+11
2013-02-18auto merge of #5004 : luqmana/rust/rename-use-import, r=catamorphismbors-3/+4
Seems like my previous pull request got lost along the way somehow. So here it is updated.
2013-02-17libsyntax: Update view_item_use/import to reflect actual usageLuqman Aden-3/+4