| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-04-19 | Gensym remaining identifiers | James Sanderson | -1/+1 | |
| 2018-04-19 | Don't prepend deriving-generated attributes with _ | James Sanderson | -1/+1 | |
| 2018-04-15 | Provide better names for builtin deriving-generated attributes | James Sanderson | -1/+1 | |
| 2018-04-06 | Rename `ast::Variant_::name` into `ident` + Fix rebase | Vadim Petrochenkov | -1/+1 | |
| 2018-03-11 | Fix hygene issue when deriving Debug | Phlosioneer | -1/+1 | |
| The code for several of the core traits doesn't use hygenic macros. This isn't a problem, except for the Debug trait, which is the only one that uses a variable, named "builder". Variables can't share names with unit structs, so attempting to [derive(Debug)] on any type while a unit struct with the name "builder" was in scope would result in an error. This commit just changes the name of the variable to "__debug_trait_builder", because I couldn't figure out how to get a list of all unit structs in-scope from within the derive expansion function. If someone wants to have a unit struct with the exact name "__debug_trait_builder", they'll just have to do it without a [derive(Debug)]. | ||||
| 2017-12-09 | Use hygiene to access the injected crate (`core` or `std`) from builtin macros. | Jeffrey Seyfried | -3/+4 | |
| 2017-08-30 | Make fields of `Span` private | Vadim Petrochenkov | -1/+1 | |
| 2017-08-15 | use field init shorthand EVERYWHERE | Zack M. Davis | -1/+1 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2017-06-16 | deriv(Hash) for single-variant enum should not hash discriminant | Stepan Koltsov | -1/+1 | |
| Fixes #39137 | ||||
| 2017-03-29 | Merge `ExpnId` and `SyntaxContext`. | Jeffrey Seyfried | -2/+2 | |
| 2016-11-21 | Use `Symbol` instead of `InternedString` in the AST, HIR, and various other ↵ | Jeffrey Seyfried | -3/+2 | |
| places. | ||||
| 2016-11-20 | Move `syntax::util::interner` -> `syntax::symbol`, cleanup. | Jeffrey Seyfried | -8/+7 | |
| 2016-09-04 | Replace `_, _` with `..` | Vadim Petrochenkov | -1/+1 | |
| 2016-08-30 | Future proof `libsyntax_ext` for `union`. | Jeffrey Seyfried | -0/+1 | |
| 2016-07-19 | Run rustfmt on libsyntax_ext/deriving folder | Srinivas Reddy Thatiparthy | -50/+39 | |
| 2016-06-26 | Rollup merge of #34436 - jseyfried:no_block_expr, r=eddyb | Jeffrey Seyfried | -2/+3 | |
| To allow these braced macro invocation, this PR removes the optional expression from `ast::Block` and instead uses a `StmtKind::Expr` at the end of the statement list. Currently, braced macro invocations in blocks can expand into statements (and items) except when they are last in a block, in which case they can only expand into expressions. For example, ```rust macro_rules! make_stmt { () => { let x = 0; } } fn f() { make_stmt! {} //< This is OK... let x = 0; //< ... unless this line is commented out. } ``` Fixes #34418. | ||||
| 2016-06-26 | Rollup merge of #34339 - jseyfried:thin_vec, r=petrochenkov,Manishearth | Jeffrey Seyfried | -1/+1 | |
| Generalize and abstract `ThinAttributes` to `ThinVec<Attribute>`. | ||||
| 2016-06-26 | Rollup merge of #34316 - jseyfried:refactor_ast_stmt, r=eddyb | Jeffrey Seyfried | -3/+5 | |
| Refactor away `ast::Decl`, refactor `ast::Stmt`, and rename `ast::ExprKind::Again` to `ast::ExprKind::Continue`. | ||||
| 2016-06-23 | Remove field `expr` of `ast::Block` | Jeffrey Seyfried | -2/+3 | |
| 2016-06-23 | Move errors from libsyntax to its own crate | Jonathan Turner | -1/+2 | |
| 2016-06-19 | Generalize and abstract `ThinAttributes` | Jeffrey Seyfried | -1/+1 | |
| 2016-06-17 | Fix fallout | Jeffrey Seyfried | -3/+6 | |
| 2016-05-12 | Improve derived implementations for enums with lots of fieldless variants | Björn Steinbrink | -0/+1 | |
| A number of trait methods like PartialEq::eq or Hash::hash don't actually need a distinct arm for each variant, because the code within the arm only depends on the number and types of the fields in the variants. We can easily exploit this fact to create less and better code for enums with multiple variants that have no fields at all, the extreme case being C-like enums. For nickel.rs and its by now infamous 800 variant enum, this reduces optimized compile times by 25% and non-optimized compile times by 40%. Also peak memory usage is down by almost 40% (310MB down to 190MB). To be fair, most other crates don't benefit nearly as much, because they don't have as huge enums. The crates in the Rust distribution that I measured saw basically no change in compile times (I only tried optimized builds) and only 1-2% reduction in peak memory usage. | ||||
| 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 | -3/+8 | |
| 2016-02-11 | Remove some unnecessary indirection from AST structures | Vadim Petrochenkov | -2/+2 | |
| 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::Mutablity variants | Oliver 'ker' Schneider | -1/+1 | |
| 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 glob export ast::Decl_ variants | Oliver Schneider | -1/+1 | |
| 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-15 | Move built-in syntax extensions to a separate crate | Seo Sanghyeon | -0/+156 | |
