| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-12-30 | Rename directories for some crates from `syntax_x` to `rustc_x` | Vadim Petrochenkov | -113/+0 | |
| `syntax_expand` -> `rustc_expand` `syntax_pos` -> `rustc_span` `syntax_ext` -> `rustc_builtin_macros` | ||||
| 2019-12-22 | Format the world | Mark Rousskov | -57/+54 | |
| 2019-10-16 | move syntax::ext to new crate syntax_expand | Mazdak Farrokhzad | -1/+1 | |
| 2019-09-05 | or-patterns: syntax: adjust derive, format, and building. | Mazdak Farrokhzad | -4/+2 | |
| 2019-08-17 | Remove gensyms from built-in derives | Matthew Jasper | -29/+30 | |
| Also make them generally more hygienic with name resolution. | ||||
| 2019-07-31 | Replace AstBuilder with inherent methods | Mark Rousskov | -1/+0 | |
| 2019-07-31 | Remove Span argument from ExtCtxt::attribute | Mark Rousskov | -1/+1 | |
| MetaItem.span was always equivalent | ||||
| 2019-06-08 | use pattern matching for slices destructuring | Cedric | -2/+2 | |
| 2019-05-27 | Pass symbols to `ExtCtxt::std_path` instead of strings. | Nicholas Nethercote | -2/+2 | |
| Because this function is hot. Also remove the dead `ty_option` function. | ||||
| 2019-05-27 | Avoid unnecessary internings. | Nicholas Nethercote | -2/+2 | |
| Most involving `Symbol::intern` on string literals. | ||||
| 2019-02-04 | libsyntax_ext => 2018 | Taiki Endo | -6/+6 | |
| 2018-12-25 | Remove licenses | Mark Rousskov | -10/+0 | |
| 2018-07-12 | Deny bare trait objects in src/libsyntax_ext | ljedrz | -1/+1 | |
| 2018-04-19 | Fix some of the __names in the comments | James Sanderson | -3/+3 | |
| 2018-04-19 | Gensym remaining identifiers | James Sanderson | -1/+1 | |
| 2018-04-15 | Provide better names for builtin deriving-generated attributes | James Sanderson | -1/+1 | |
| 2017-12-09 | Use hygiene to access the injected crate (`core` or `std`) from builtin macros. | Jeffrey Seyfried | -2/+3 | |
| 2017-08-15 | use field init shorthand EVERYWHERE | Zack M. Davis | -1/+1 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2016-11-20 | Move `syntax::util::interner` -> `syntax::symbol`, cleanup. | Jeffrey Seyfried | -2/+2 | |
| 2016-11-20 | Refactor `MetaItemKind` to use `Name`s instead of `InternedString`s. | Jeffrey Seyfried | -2/+2 | |
| 2016-08-30 | Future proof `libsyntax_ext` for `union`. | Jeffrey Seyfried | -0/+1 | |
| 2016-08-18 | Split `AstBuilder::pat_enum` into `pat_tuple_struct` and `pat_path` | Vadim Petrochenkov | -1/+1 | |
| 2016-07-19 | Run rustfmt on libsyntax_ext/deriving folder | Srinivas Reddy Thatiparthy | -75/+69 | |
| 2016-06-23 | Move errors from libsyntax to its own crate | Jonathan Turner | -1/+1 | |
| 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-03-17 | Re-add double underscores in derive (fixes #32292) | Manish Goregaokar | -4/+4 | |
| 2016-03-14 | derive: improve hygiene for type parameters (see #2810) | Alex Burka | -1/+1 | |
| 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 | -4/+4 | |
| 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 | -27/+23 | |
| 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-02-11 | [breaking-change] don't glob export ast::BinOp_ | Oliver Schneider | -3/+2 | |
| 2015-12-15 | Move built-in syntax extensions to a separate crate | Seo Sanghyeon | -0/+136 | |
