summary refs log tree commit diff
path: root/src/libsyntax/ext/deriving/decodable.rs
AgeCommit message (Collapse)AuthorLines
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-4/+4
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-25great renaming propagation: syntaxCorey Richardson-3/+2
2013-06-21vec: rm old_iter implementations, except BaseIterDaniel Micay-1/+1
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-2/+2
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-07syntax: move expand_generic_deriving to be a method on TraitDefHuon Wilson-2/+1
2013-05-30Rewrite deriving(Decodable, Encodable)Alex Crichton-393/+133
Now it uses the generic deriving code and should in theory work in all cases.
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-3/+5
2013-05-22librustc: Change `std` to `extra` throughout libsyntax and librustcPatrick Walton-3/+3
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-131/+73
2013-05-22syntax/ext: migrate build.rs functions to AstBuilder methods.Huon Wilson-94/+74
2013-05-22syntax/ext: modernise ext_ctxt to be CamelCase and use new.Huon Wilson-13/+13
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-1/+1
2013-05-16syntax: deprecate #[auto_{en,de}code] in favour of #[deriving({En,De}codable)].Huon Wilson-0/+5
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-14rustc: rename ast::self_ty and related fields to explicit_selfErick Tryzelaar-2/+2
2013-05-09Use a specialized string interner to reduce the need for owned stringsBjörn Steinbrink-35/+35
&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-08librustc: Remove mutable fields from the language.Patrick Walton-1/+1
They're still parsed though, to get through bootstrapping.
2013-05-07libsyntax: extend generic deriving code to handle almost all possible traits.Huon Wilson-1/+3
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-05-02librustc: Update the serializer to work properly with INHTWAMA, removing ↵Patrick Walton-5/+44
mutable fields in the process
2013-04-27only use #[no_core] in libcoreDaniel Micay-4/+0
2013-04-12libsyntax: abstract most of the deriving boilerplate into a simpler(r) ↵Huon Wilson-1/+2
interface. Pulls out many of the common patterns from the Eq and Clone deriving code (and invents a few of its own), so that deriving instances are very easy to write for a certain class of traits. (Basically, those which don't have parameters and where all methods only take arguments of type `&Self` and return either `Self` or types with no parameters.)
2013-04-10syntax: add support for #[deriving(Decodable)]Erick Tryzelaar-0/+454