| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2016-03-21 | Auto merge of #32253 - durka:derive-31886, r=alexcrichton | bors | -1/+1 | |
| derive: assume enum repr defaults to isize derive: assume enum repr defaults to isize Fixes #31886. Spawned from #32139. r? @alexcrichton | ||||
| 2016-03-18 | Auto merge of #31977 - bluss:partial-eq-save, r=brson | bors | -11/+43 | |
| derive: Avoid emitting provided PartialEq, PartialOrd methods for c-like enums derive: Avoid emitting provided PartialEq, PartialOrd method for c-like enums `ne` is completely symmetrical with the method `eq`, and we can save rust code size and compilation time here if we only emit one of them when possible. One case where it's easy to recognize is when it's a C-like enum. Most other cases can not omit ne, because any value field may have a custom PartialEq implementation. | ||||
| 2016-03-18 | derive: assume enum repr defaults to isize | Alex Burka | -1/+1 | |
| It was originally intended to be i32, but it isn't. Fixes #31886. | ||||
| 2016-03-17 | Re-add double underscores in derive (fixes #32292) | Manish Goregaokar | -43/+43 | |
| 2016-03-15 | Auto merge of #32251 - durka:derive-2810, r=alexcrichton | bors | -114/+136 | |
| derive: clean up hygiene derive: clean up hygiene Fixes #2810. Spawned from #32139. r? @alexcrichton | ||||
| 2016-03-15 | Auto merge of #32250 - durka:derive-31574, r=alexcrichton | bors | -11/+18 | |
| derive: use intrinsics::unreachable over unreachable!() derive: use intrinsics::unreachable over unreachable!() Fixes #31574. Spawned from #32139. r? @alexcrichton | ||||
| 2016-03-14 | Add `default` as contextual keyword, and parse it for impl items. | Aaron Turon | -0/+2 | |
| 2016-03-14 | derive: improve hygiene for type parameters (see #2810) | Alex Burka | -17/+46 | |
| When deriving Hash, RustcEncodable and RustcDecodable, the syntax extension needs a type parameter to use in the inner method. They used to use __H, __S and __D respectively. If this conflicts with a type parameter already declared for the item, bad times result (see the test). There is no hygiene for type parameters, but this commit introduces a better heuristic by concatenating the names of all extant type parameters (and prepending __H). | ||||
| 2016-03-14 | derive: remove most __ strings FIXME(#2810) | Alex Burka | -48/+48 | |
| This changes local variable names in all derives to remove leading double-underscores. As far as I can tell, this doesn't break anything because there is no user code in these generated functions except for struct, field and type parameter names, and this doesn't cause shadowing of those. But I am still a bit nervous. | ||||
| 2016-03-14 | fix FIXME(#6449) in #[derive(PartialOrd, Ord)] | Alex Burka | -55/+48 | |
| This replaces some `if`s with `match`es. This was originally not possible because using a global path in a match statement caused a "non-constant path in constant expr" ICE. The issue is long since closed, though you still hit it (as an error now, not an ICE) if you try to generate match patterns using pat_lit(expr_path). But it works when constructing the patterns more carefully. | ||||
| 2016-03-14 | derive: emit intrinsics::unreachable for impls on empty enums | Alex Burka | -11/+18 | |
| fixes #31574 | ||||
| 2016-03-01 | derive: Emit only PartialOrd::partial_cmp for simple enums | Ulrik Sverdrup | -24/+35 | |
| Using the same logic as for `PartialEq`, when possible define only `partial_cmp` and leave `lt, le, gt, ge` to their default implementations. This works well for c-like enums. | ||||
| 2016-02-29 | derive: Skip PartialEq::ne for any zero-field enum or struct | Ulrik Sverdrup | -17/+15 | |
| Also detect unit structs and enums with zero field struct variants. | ||||
| 2016-02-29 | derive: Avoid emitting PartialEq::ne for c-like enums | Ulrik Sverdrup | -5/+28 | |
| `ne` is completely symmetrical with the method `eq`, and we can save rust code size and compilation time here if we only emit one of them when possible. One case where it's easy to recognize is when it's a C-like enum. Most other cases can not omit ne, because any value field may have a custom PartialEq implementation. | ||||
| 2016-02-23 | Some refactoring in deriving/debug.rs | Vadim Petrochenkov | -8/+3 | |
| 2016-02-22 | Fix #[derive] for empty structs with braces | Vadim Petrochenkov | -37/+49 | |
| 2016-02-13 | Rename ast::Pat_ and its variants | Vadim Petrochenkov | -3/+3 | |
| 2016-02-12 | Use more autoderef in libsyntax_ext | Jonas Schievink | -2/+2 | |
| 2016-02-11 | Remove some unnecessary indirection from AST structures | Vadim Petrochenkov | -12/+12 | |
| 2016-02-11 | [breaking-change] don't glob export ast::StrStyle variants | Oliver 'ker' Schneider | -3/+2 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Visibility variants | Oliver 'ker' Schneider | -2/+2 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Mutablity variants | Oliver 'ker' Schneider | -15/+18 | |
| 2016-02-11 | [breaking-change] don't glob export ast::MetaItem_ | Oliver 'ker' Schneider | -2/+2 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Item_ variants | Oliver 'ker' Schneider | -8/+8 | |
| 2016-02-11 | [breaking-change] don't pub export ast::Stmt_ variants | Oliver Schneider | -1/+1 | |
| 2016-02-11 | [breaking-change] don't pub export ast::Lit_ variants | Oliver Schneider | -3/+3 | |
| 2016-02-11 | [breaking-change] don't pub export ast::Ty_ variants | Oliver Schneider | -3/+3 | |
| 2016-02-11 | [breaking-change] don't glob export ast::{UintTy, IntTy} variants | Oliver Schneider | -11/+11 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Expr_ variants | Oliver Schneider | -13/+11 | |
| 2016-02-11 | [breaking-change] don't glob export ast::ExplicitSelf_ variants | Oliver Schneider | -4/+4 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Decl_ variants | Oliver Schneider | -1/+1 | |
| 2016-02-11 | [breaking-change] don't glob import/export syntax::abi enum variants | Oliver Schneider | -3/+2 | |
| 2016-02-11 | [breaking-change] don't glob export ast::BlockCheckMode variants | Oliver Schneider | -2/+2 | |
| 2016-02-11 | [breaking-change] don't glob export ast::BinOp_ | Oliver Schneider | -18/+16 | |
| 2016-02-11 | [breaking-change] don't glob export ast::UnOp variants | Oliver Schneider | -1/+1 | |
| 2016-02-03 | remove dead #[derive(FromPrimitive)] code | Alex Burka | -145/+0 | |
| 2016-01-22 | Extended save-analysis to support generated code, alterned some spans in ↵ | Daniel Campbell | -3/+3 | |
| format_args! and derive to maintain compatability | ||||
| 2015-12-21 | Auto merge of #30460 - Ms2ger:BindingMode, r=alexcrichton | bors | -1/+1 | |
| 2015-12-20 | Stop re-exporting the ast::BindingMode variants. | Ms2ger | -1/+1 | |
| 2015-12-18 | Rollup merge of #30420 - petrochenkov:owned2, r=nrc | Manish Goregaokar | -7/+5 | |
| Part of https://github.com/rust-lang/rust/pull/30095 not causing mysterious segfaults. r? @nrc | ||||
| 2015-12-18 | Deprecate name `OwnedSlice` and don't use it | Vadim Petrochenkov | -7/+5 | |
| 2015-12-17 | move error handling from libsyntax/diagnostics.rs to libsyntax/errors/* | Nick Cameron | -2/+2 | |
| Also split out emitters into their own module. | ||||
| 2015-12-15 | Move built-in syntax extensions to a separate crate | Seo Sanghyeon | -0/+3820 | |
