summary refs log tree commit diff
path: root/src/libsyntax/ext/build.rs
AgeCommit message (Collapse)AuthorLines
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.
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