summary refs log tree commit diff
path: root/src/libsyntax/ext/deriving/clone.rs
AgeCommit message (Collapse)AuthorLines
2013-06-25great renaming propagation: syntaxCorey Richardson-2/+0
2013-06-07syntax: move expand_generic_deriving to be a method on TraitDefHuon Wilson-6/+2
2013-05-22syntax: Change syntax extensions to expand to `std::foo` instead of `core::foo`Patrick Walton-2/+2
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-1/+2
to libextra
2013-05-22syntax/ext: convert all AstBuilder methods to a uniform syntax.Huon Wilson-10/+7
2013-05-22syntax/ext: migrate build.rs functions to AstBuilder methods.Huon Wilson-4/+5
2013-05-22syntax/ext: modernise ext_ctxt to be CamelCase and use new.Huon Wilson-4/+4
2013-05-21syntax/ext: remove the ~str dependence of the deriving code.Huon Wilson-4/+4
2013-05-16syntax: use fmt! over + in deriving/cloneHuon Wilson-6/+6
2013-05-16syntax: implement #[deriving(DeepClone)]. Fixes #6514.Huon Wilson-6/+41
2013-05-15auto merge of #6500 : kud1ing/rust/cleanup, r=bstriebors-9/+0
Fixes #6445
2013-05-15remove deriving_eq, deriving_iter_bytes, deriving_clone (deprecated in 0.6)Lenny222-9/+0
2013-05-14rustc: rename ast::self_ty and related fields to explicit_selfErick Tryzelaar-1/+1
2013-05-14syntax: Remove #[allow(vecs_implicitly_copyable)]Alex Crichton-3/+3
2013-05-07libsyntax: extend generic deriving code to handle almost all possible traits.Huon Wilson-5/+8
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-12libsyntax: short-circuit on non-matching variants in deriving code.Huon Wilson-0/+1
Allow a deriving instance using the generic code to short-circuit for any non-matching enum variants (grouping them all into a _ match), reducing the number of arms required. Use this to speed up the Eq & TotalEq implementations.
2013-04-12libsyntax: derive Clone, Eq, TotalEq, Ord, TotalOrd with the new generic ↵Huon Wilson-258/+64
deriving code. Closes #4269, #5588 and #5589.
2013-04-12libsyntax: abstract most of the deriving boilerplate into a simpler(r) ↵Huon Wilson-3/+4
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: Simplify deriving to handle classes that take generics, like EncodableErick Tryzelaar-2/+4
2013-04-10syntax: update a deriving error message to use the new syntaxErick Tryzelaar-3/+1
2013-03-28Removing unused importsAlex Crichton-8/+1
2013-03-28librustc: Remove common fields and nested enums from the languagePatrick Walton-1/+1
2013-03-27remove sty_by_ref, though traces still remain due to dtorsNiko Matsakis-1/+1
2013-03-26Rip out old code that still structured method calls as aNiko Matsakis-2/+3
expr_call(expr_field(...)) rather than an expr_method_call. There is probably more such code in trans that should be removed.
2013-03-22syntax: make old `#[deriving_foo]` attribute obsoleteAndrew Paseltiner-0/+9
2013-03-19syntax: split deriving module into submodules for each traitAndrew Paseltiner-0/+289