about summary refs log tree commit diff
path: root/src/libsyntax/ext/build.rs
AgeCommit message (Collapse)AuthorLines
2013-08-18quote_*! macros take an ExtCtxSteven Fackler-0/+12
They previously required one called "ext_cx" to be in scope. Fixes part of #7727
2013-08-10std: Rename Iterator.transform -> .mapErick Tryzelaar-1/+1
cc #5898
2013-08-10Mass rename of .consume{,_iter}() to .move_iter()Erick Tryzelaar-1/+1
cc #7887
2013-08-07core: option.map_consume -> option.map_moveErick Tryzelaar-1/+1
2013-08-02Replace 'blk' -> 'block' in AstBuilder.OGINO Masanori-26/+26
I didn't rename variables because they are local and are not parts of the public interfaces. Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2013-07-29New naming convention for ast::{node_id, local_crate, crate_node_id, ↵Michael Woerister-8/+8
blk_check_mode, ty_field, ty_method}
2013-07-22De-spanned<T> and renamed ast::field (now ast::Field)Michael Woerister-7/+7
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-29/+29
`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-21/+20
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 `copy` expressions from the language.Patrick Walton-4/+0
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-3/+3
2013-07-17librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.Patrick Walton-3/+3
2013-07-17Made ast::blk not use spanned<T> anymore.Michael Woerister-8/+8
2013-07-07De-share ast::TyJames Miller-52/+51
2013-07-07De-manage OptVec<TyParamBounds>James Miller-10/+8
2013-07-07De-share trait_refJames Miller-3/+3
Also, makes the pretty-printer use & instead of @ as much as possible, which will help with later changes, though in the interim has produced some... interesting constructs.
2013-07-07De-manage LifetimeJames Miller-4/+4
2013-07-07De-managed ast::PathJames Miller-23/+23
2013-07-07Stop allocating view_items with @James Miller-11/+11
2013-06-26Infer default static/Owned bounds for unbounded heap fns/traits (#7264)Ben Blum-5/+5
2013-06-25great renaming propagation: syntaxCorey Richardson-2/+0
2013-06-23Parse and typecheck (not kindcheck) bounds on trait paths.Ben Blum-6/+10
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-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-1/+1
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-01syntax: move callee_id into the expr_ variantsErick Tryzelaar-6/+3
2013-05-30Remove copy bindings from patterns.Niko Matsakis-1/+1
2013-05-29libsyntax: Stop parsing mutable fieldsPatrick Walton-1/+1
2013-05-22libsyntax: Fix more merge fallout.Patrick Walton-2/+2
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-22syntax/ext: convert all AstBuilder methods to a uniform syntax.Huon Wilson-1042/+520
2013-05-22syntax/ext: migrate build.rs functions to AstBuilder methods.Huon Wilson-547/+783
2013-05-22syntax/ext: collect the ast building traits into a single trait.Huon Wilson-92/+396
2013-05-22syntax/ext: modernise ext_ctxt to be CamelCase and use new.Huon Wilson-70/+70
2013-05-17Re-implement lint with less emphasis on item idsAlex Crichton-1/+2
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-16syntax: deprecate #[auto_{en,de}code] in favour of #[deriving({En,De}codable)].Huon Wilson-0/+298
Replace all instances of #[auto_*code] with the appropriate #[deriving] attribute and remove the majority of the actual code, leaving stubs to refer the user to the new syntax.
2013-05-14syntax: Remove #[allow(vecs_implicitly_copyable)]Alex Crichton-1/+1
2013-05-12librustc: Make `self` and `static` into keywordsPatrick Walton-0/+4
2013-05-09Use a specialized string interner to reduce the need for owned stringsBjörn Steinbrink-4/+4
&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-08libcore: Fix more merge fallout.Patrick Walton-0/+18
2013-05-07libsyntax: extend generic deriving code to handle almost all possible traits.Huon Wilson-25/+59
This adds support for static methods, and arguments of most types, traits with type parameters, methods with type parameters (and lifetimes for both), as well as making the code more robust to support deriving on types with lifetimes (i.e. 'self).
2013-04-29librustc: Remove the concept of modes from the compiler.Patrick Walton-1/+0
This commit does not remove `ty::arg`, although that should be possible to do now.
2013-04-27only use #[no_core] in libcoreDaniel Micay-4/+0
2013-04-25Made fail! and assert! accept both &'static str and ~str, as well as a fmt! ↵Marvin Löbel-3/+4
like format list. Unwinding through macros now happens as a call to the trait function `FailWithCause::fail_with()`, which consumes self, allowing to use a more generic failure object in the future.
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-37/+37
2013-04-10syntax: add support for #[deriving(Decodable)]Erick Tryzelaar-7/+53
2013-04-10syntax: add support for #[deriving(Encodable)]Erick Tryzelaar-8/+64
2013-04-10path -> PathJohn Clements-8/+8
2013-04-05Refactor so that references to traits are not represented using a type with aNiko Matsakis-0/+11
bare function store (which is not in fact a kind of value) but rather ty::TraitRef. Removes many uses of fail!() and other telltale signs of type-semantic mismatch. cc #4183 (not a fix, but related)
2013-03-27syntax: Remove deprecated expr_vstore_fixedErick Tryzelaar-5/+0
2013-03-26Rip out old code that still structured method calls as aNiko Matsakis-0/+7
expr_call(expr_field(...)) rather than an expr_method_call. There is probably more such code in trans that should be removed.