about summary refs log tree commit diff
path: root/src/libsyntax/ext/build.rs
AgeCommit message (Collapse)AuthorLines
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.
2013-03-22Build up the result of fmt! in a buffer instead of a vectorAlex Crichton-0/+3
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-44/+45
2013-03-07libsyntax: Remove struct literal expressions from the compilerPatrick Walton-7/+0
2013-03-04Remove unused imports throughout src/Alex Crichton-2/+0
2013-02-28Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-3/+12
2013-02-27Introduce lifetime declarations into the lists of type parameters.Niko Matsakis-3/+12
Major changes are: - replace ~[ty_param] with Generics structure, which includes both OptVec<TyParam> and OptVec<Lifetime>; - the use of syntax::opt_vec to avoid allocation for empty lists; cc #4846
2013-02-26libsyntax: remove vecs_implicitly_copyable from the syntax extensionsErick Tryzelaar-30/+38
2013-02-21Get rid of structural records in libsyntax and the last bit in librustc.Luqman Aden-19/+14
2013-02-17libsyntax: Update view_item_use/import to reflect actual usageLuqman Aden-1/+1
2013-02-15libsyntax: Get rid of uses of `move` and don't parse it.Luqman Aden-11/+11
2013-02-07Make ~fn non-copyable, make &fn copyable, split barefn/closure types,Niko Matsakis-1/+1
correct handling of moves for struct-record update. Part of #3678. Fixes #2828, #3904, #4719.
2013-01-31test cases, cleanupJohn Clements-12/+13
2013-01-31Finalize moves-based-on-type implementation.Niko Matsakis-4/+3
Changes: - Refactor move mode computation - Removes move mode arguments, unary move, capture clauses (though they still parse for backwards compatibility) - Simplify how moves are handled in trans - Fix a number of illegal copies that cropped up - Workaround for bug involving def-ids in params (see details below) Future work (I'll open bugs for these...): - Improve error messages for moves that are due to bindings - Add support for moving owned content like a.b.c to borrow check, test in trans (but I think it'll "just work") - Proper fix for def-ids in params Def ids in params: Move captures into a map instead of recomputing. This is a workaround for a larger bug having to do with the def-ids associated with ty_params, which are not always properly preserved when inlining. I am not sure of my preferred fix for the larger bug yet. This current fix removes the only code in trans that I know of which relies on ty_param def-ids, but feels fragile.
2013-01-29libsyntax: De-export libsyntax. rs=deexportingPatrick Walton-110/+124
2013-01-28Link the lifetimes of regions resulting from borrows of theNiko Matsakis-1/+7
contents of other borrowed pointers to the lifetimes of the borrowed value. Fixes #3148. r=catamorphism
2013-01-24Convert extfmt::rt::Conv into a structErick Tryzelaar-0/+9
2013-01-22Add is_mutbl field to argSeo Sanghyeon-0/+1
2013-01-20convert the remaining ast record types into structsErick Tryzelaar-2/+2
These are: region,arg,fn_decl,method,_mod,foreign_mod, variant_arg,enum_def_,variant_,trait_ref.
2013-01-20convert ast::ty into a structErick Tryzelaar-3/+3
2013-01-20convert ast::expr into a structErick Tryzelaar-3/+6
2013-01-14convert ast::{field_,capture_item_,mt} and middle::ty::mt into structsErick Tryzelaar-2/+4
2013-01-14Convert ast::{pat,field_pat,local_,arm} into structsErick Tryzelaar-12/+19
2013-01-14convert ast::blk_ into a structErick Tryzelaar-22/+28
2013-01-14convert ast::attribute_ and ast::view_item to a structErick Tryzelaar-4/+4
2013-01-14change ast::ty_param into a struct.Erick Tryzelaar-1/+1
2013-01-14Change ast::path into a struct.Erick Tryzelaar-6/+15
2013-01-09syntax: convert ast::spanned into a structErick Tryzelaar-23/+26
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+2
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-2/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+2
module scope. r=tjc
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-0/+29
contain at least two components. r=graydon
2012-12-13libsyntax: Implement `deriving` for struct-like enum variants. r=brsonPatrick Walton-0/+8
2012-12-13librustc: Make `use` statements crate-relative by default. r=brsonPatrick Walton-1/+1
2012-12-07syntax: point quote tokens at the site of quote-using-extension invocation.Graydon Hoare-0/+18
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10