| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2013-12-28 | Stop using @ExtCtxt | Steven Fackler | -2/+2 | |
| 2013-12-07 | syntax::deriving: add the cx and span to the TraitDef to reduce duplication. | Huon Wilson | -1/+3 | |
| 2013-11-28 | Register new snapshots | Alex Crichton | -1/+1 | |
| 2013-11-26 | libsyntax: Remove all non-`proc` `do` syntax. | Patrick Walton | -2/+2 | |
| 2013-11-19 | Mark some derived methods as #[inline]. | Huon Wilson | -0/+1 | |
| ToStr, Encodable and Decodable are not marked as such, since they're already expensive, and lead to large methods, so inlining will bloat the metadata & the binaries. This means that something like #[deriving(Eq)] struct A { x: int } creates an instance like #[doc = "Automatically derived."] impl ::std::cmp::Eq for A { #[inline] fn eq(&self, __arg_0: &A) -> ::bool { match *__arg_0 { A{x: ref __self_1_0} => match *self { A{x: ref __self_0_0} => true && __self_0_0.eq(__self_1_0) } } } #[inline] fn ne(&self, __arg_0: &A) -> ::bool { match *__arg_0 { A{x: ref __self_1_0} => match *self { A{x: ref __self_0_0} => false || __self_0_0.ne(__self_1_0) } } } } (The change being the `#[inline]` attributes.) | ||||
| 2013-11-08 | syntax::ext: Make type errors in deriving point to the field itself. | Huon Wilson | -2/+2 | |
| This rearranges the deriving code so that #[deriving] a trait on a field that doesn't implement that trait will point to the field in question, e.g. struct NotEq; // doesn't implement Eq #[deriving(Eq)] struct Foo { ok: int, also_ok: ~str, bad: NotEq // error points here. } Unfortunately, this means the error is disconnected from the `deriving` itself but there's no current way to pass that information through to rustc except via the spans, at the moment. Fixes #7724. | ||||
| 2013-09-03 | Modernized a few more types in syntax::ast | Marvin Löbel | -3/+3 | |
| 2013-09-01 | Modernized a few type names in rustc and syntax | Marvin Löbel | -3/+3 | |
| 2013-08-03 | remove obsolete `foreach` keyword | Daniel Micay | -1/+1 | |
| this has been replaced by `for` | ||||
| 2013-08-01 | migrate many `for` loops to `foreach` | Daniel Micay | -1/+1 | |
| 2013-07-20 | syntax: modernise attribute handling in syntax::attr. | Huon Wilson | -2/+2 | |
| 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-17 | librustc: Remove all uses of "copy". | Patrick Walton | -2/+3 | |
| 2013-06-29 | 'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep ↵ | Ben Blum | -3/+9 | |
| for making them noncopyable. | ||||
| 2013-06-25 | great renaming propagation: syntax | Corey Richardson | -2/+0 | |
| 2013-06-23 | vec: remove BaseIter implementation | Daniel Micay | -1/+1 | |
| I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway. | ||||
| 2013-06-14 | add IteratorUtil to the prelude | Daniel Micay | -1/+0 | |
| 2013-06-09 | std: remove fold[lr] in favour of iterators | Huon Wilson | -2/+2 | |
| 2013-06-07 | syntax: move expand_generic_deriving to be a method on TraitDef | Huon Wilson | -1/+1 | |
| 2013-05-30 | Remove copy bindings from patterns. | Niko Matsakis | -2/+2 | |
| 2013-05-29 | librustc: Stop reexporting the standard modules from prelude. | Patrick Walton | -0/+2 | |
| 2013-05-22 | syntax: Change syntax extensions to expand to `std::foo` instead of `core::foo` | Patrick Walton | -2/+2 | |
| 2013-05-22 | libextra: Rename the actual metadata names of libcore to libstd and libstd ↵ | Patrick Walton | -0/+2 | |
| to libextra | ||||
| 2013-05-22 | syntax/ext: convert all AstBuilder methods to a uniform syntax. | Huon Wilson | -3/+3 | |
| 2013-05-22 | syntax/ext: migrate build.rs functions to AstBuilder methods. | Huon Wilson | -4/+4 | |
| 2013-05-22 | syntax/ext: modernise ext_ctxt to be CamelCase and use new. | Huon Wilson | -3/+3 | |
| 2013-05-21 | syntax/ext: remove the ~str dependence of the deriving code. | Huon Wilson | -5/+5 | |
| 2013-05-15 | auto merge of #6500 : kud1ing/rust/cleanup, r=bstrie | bors | -10/+0 | |
| Fixes #6445 | ||||
| 2013-05-15 | remove deriving_eq, deriving_iter_bytes, deriving_clone (deprecated in 0.6) | Lenny222 | -10/+0 | |
| 2013-05-14 | rustc: rename ast::self_ty and related fields to explicit_self | Erick Tryzelaar | -1/+1 | |
| 2013-05-10 | Fix deriving(IterBytes) to use the new for-loop protocol | Alex Crichton | -11/+15 | |
| 2013-05-08 | librustc: Remove mutable fields from the language. | Patrick Walton | -1/+1 | |
| They're still parsed though, to get through bootstrapping. | ||||
| 2013-05-07 | libsyntax: convert #[deriving(IterBytes)] to generic deriving | Huon Wilson | -223/+61 | |
| 2013-04-27 | only use #[no_core] in libcore | Daniel Micay | -4/+0 | |
| 2013-04-19 | syntax: de-mode and prepare for de-modeing rustc | Alex Crichton | -1/+1 | |
| 2013-04-12 | libsyntax: abstract most of the deriving boilerplate into a simpler(r) ↵ | Huon Wilson | -2/+3 | |
| 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-10 | syntax: Simplify deriving to handle classes that take generics, like Encodable | Erick Tryzelaar | -2/+4 | |
| 2013-04-10 | syntax: update a deriving error message to use the new syntax | Erick Tryzelaar | -1/+1 | |
| 2013-03-28 | Removing unused imports | Alex Crichton | -8/+1 | |
| 2013-03-28 | librustc: Remove common fields and nested enums from the language | Patrick Walton | -1/+1 | |
| 2013-03-27 | remove sty_by_ref, though traces still remain due to dtors | Niko Matsakis | -1/+1 | |
| 2013-03-26 | Rip out old code that still structured method calls as a | Niko Matsakis | -8/+5 | |
| expr_call(expr_field(...)) rather than an expr_method_call. There is probably more such code in trans that should be removed. | ||||
| 2013-03-22 | syntax: make old `#[deriving_foo]` attribute obsolete | Andrew Paseltiner | -0/+10 | |
| 2013-03-19 | syntax: split deriving module into submodules for each trait | Andrew Paseltiner | -0/+256 | |
