| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-02-13 | Rollup merge of #58273 - taiki-e:rename-dependency, r=matthewjasper | Mazdak Farrokhzad | -1/+1 | |
| Rename rustc_errors dependency in rust 2018 crates I think this is a better solution than `use rustc_errors as errors` in `lib.rs` and `use crate::errors` in modules. Related: rust-lang/cargo#5653 cc #58099 r? @Centril | ||||
| 2019-02-13 | Cleanup imports | Taiki Endo | -1/+1 | |
| 2019-02-13 | Rename rustc_errors dependency in rust 2018 crates | Taiki Endo | -1/+1 | |
| 2019-02-10 | rustc: doc comments | Alexander Regueiro | -4/+4 | |
| 2019-02-07 | libsyntax => 2018 | Taiki Endo | -10/+11 | |
| 2019-02-06 | Overhaul `syntax::fold::Folder`. | Nicholas Nethercote | -97/+69 | |
| This commit changes `syntax::fold::Folder` from a functional style (where most methods take a `T` and produce a new `T`) to a more imperative style (where most methods take and modify a `&mut T`), and renames it `syntax::mut_visit::MutVisitor`. The first benefit is speed. The functional style does not require any reallocations, due to the use of `P::map` and `MoveMap::move_{,flat_}map`. However, every field in the AST must be overwritten; even those fields that are unchanged are overwritten with the same value. This causes a lot of unnecessary memory writes. The imperative style reduces instruction counts by 1--3% across a wide range of workloads, particularly incremental workloads. The second benefit is conciseness; the imperative style is usually more concise. E.g. compare the old functional style: ``` fn fold_abc(&mut self, abc: ABC) { ABC { a: fold_a(abc.a), b: fold_b(abc.b), c: abc.c, } } ``` with the imperative style: ``` fn visit_abc(&mut self, ABC { a, b, c: _ }: &mut ABC) { visit_a(a); visit_b(b); } ``` (The reductions get larger in more complex examples.) Overall, the patch removes over 200 lines of code -- even though the new code has more comments -- and a lot of the remaining lines have fewer characters. Some notes: - The old style used methods called `fold_*`. The new style mostly uses methods called `visit_*`, but there are a few methods that map a `T` to something other than a `T`, which are called `flat_map_*` (`T` maps to multiple `T`s) or `filter_map_*` (`T` maps to 0 or 1 `T`s). - `move_map.rs`/`MoveMap`/`move_map`/`move_flat_map` are renamed `map_in_place.rs`/`MapInPlace`/`map_in_place`/`flat_map_in_place` to reflect their slightly changed signatures. - Although this commit renames the `fold` module as `mut_visit`, it keeps it in the `fold.rs` file, so as not to confuse git. The next commit will rename the file. | ||||
| 2019-02-05 | Various improvements in `Folder` impls. | Nicholas Nethercote | -32/+12 | |
| 2019-01-26 | remove `_with_applicability` from suggestion fns | Andy Russell | -1/+1 | |
| 2019-01-13 | Implement basic input validation for built-in attributes | Vadim Petrochenkov | -6/+3 | |
| 2019-01-08 | remove unused imports and feature gate from tests | dylan_DPC | -3/+0 | |
| 2019-01-08 | stabilise cfg_attr | dylan_DPC | -20/+2 | |
| 2018-12-25 | Remove licenses | Mark Rousskov | -10/+0 | |
| 2018-12-07 | Various minor/cosmetic improvements to code | Alexander Regueiro | -2/+2 | |
| 2018-10-23 | fix typos in various places | Matthias Krüger | -2/+2 | |
| 2018-10-07 | cfg_attr_multi: Feature gate | Havvy (Ryan Scheel) | -1/+35 | |
| 2018-10-05 | cfg_attr_multi: Basic implementation | Havvy (Ryan Scheel) | -16/+43 | |
| Does not implement the warning or a feature flag. | ||||
| 2018-09-27 | Auto merge of #54581 - petrochenkov:cfgattr, r=alexcrichton | bors | -0/+1 | |
| Accept trailing comma in `cfg_attr` Fixes https://github.com/rust-lang/rust/issues/54463 (stable-to-beta regression) | ||||
| 2018-09-26 | Remove OneVector | ljedrz | -6/+7 | |
| 2018-09-26 | Accept trailing comma in `cfg_attr` | Vadim Petrochenkov | -0/+1 | |
| 2018-09-17 | Whitespace fix again. | Vitaly _Vi Shukela | -4/+4 | |
| 2018-09-17 | Fixed some remaining whitespace issues. | Vitaly _Vi Shukela | -1/+1 | |
| (Not sure if it is correct although). | ||||
| 2018-09-17 | Fill in suggestions Applicability according to @estebank | Vitaly _Vi Shukela | -2/+3 | |
| Also fix some formatting along the way. | ||||
| 2018-09-16 | Remove usages of span_suggestion without Applicability | Vitaly _Vi Shukela | -1/+6 | |
| Use Applicability::Unspecified for all of them instead. | ||||
| 2018-09-06 | Validate syntax of `cfg` attributes | Vadim Petrochenkov | -12/+32 | |
| 2018-09-04 | Move #[test_case] to a syntax extension | John Renner | -13/+2 | |
| 2018-09-04 | Introduce Custom Test Frameworks | John Renner | -4/+4 | |
| 2018-08-19 | mv (mod) codemap source_map | Donato Sciarra | -1/+1 | |
| 2018-08-15 | syntax: Enforce attribute grammar in the parser | Vadim Petrochenkov | -1/+1 | |
| 2018-08-13 | Move SmallVec and ThinVec out of libsyntax | ljedrz | -6/+6 | |
| 2018-06-02 | Deny #[cfg] and #[cfg_attr] on generic parameters. | kennytm | -0/+16 | |
| 2018-04-06 | Rename `ast::Variant_::name` into `ident` + Fix rebase | Vadim Petrochenkov | -1/+1 | |
| 2018-04-02 | Expand attribute macros on statements and expressions. | Austin Bonander | -10/+17 | |
| Retains the `stmt_expr_attributes` feature requirement for attributes on expressions. closes #41475 cc #38356 | ||||
| 2018-03-20 | rename epoch to edition | Kurtis Nusbaum | -3/+3 | |
| 2018-03-08 | Make it possible to ungate features by epoch | Manish Goregaokar | -2/+3 | |
| 2018-02-17 | fix more typos found by codespell. | Matthias Krüger | -1/+1 | |
| 2017-12-17 | syntax: Rename `P::unwrap` into `P::into_inner` | Vadim Petrochenkov | -2/+2 | |
| 2017-08-30 | Make fields of `Span` private | Vadim Petrochenkov | -3/+2 | |
| 2017-08-15 | use field init shorthand EVERYWHERE | Zack M. Davis | -5/+5 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2017-06-15 | Remove struct_field_attributes feature gate | Wonwoo Choi | -28/+0 | |
| 2017-05-12 | Fix some clippy warnings in libsyntax | Andre Bogus | -4/+4 | |
| This is mostly removing stray ampersands, needless returns and lifetimes. | ||||
| 2017-03-14 | Liberalize attributes. | Jeffrey Seyfried | -40/+32 | |
| 2017-03-14 | Refactor `Attribute` to use `Path` and `TokenStream` instead of `MetaItem`. | Jeffrey Seyfried | -3/+5 | |
| 2017-01-11 | syntax: struct field attributes and cfg | Benjamin Saunders | -5/+64 | |
| 2016-11-20 | Move `MetaItemKind`'s `Name` to a field of `MetaItem`. | Jeffrey Seyfried | -1/+1 | |
| 2016-11-20 | Refactor away `ast::Attribute_`. | Jeffrey Seyfried | -6/+7 | |
| 2016-11-11 | Change implementation of syntax::util::SmallVector to use ↵ | Mark-Simulacrum | -1/+1 | |
| data_structures::SmallVec. | ||||
| 2016-10-29 | Move `CrateConfig` from `Crate` to `ParseSess`. | Jeffrey Seyfried | -4/+2 | |
| 2016-10-18 | Add invalid doc comment help message | Guillaume Gomez | -6/+10 | |
| 2016-10-12 | Stabilise attributes on statements. | Nick Cameron | -3/+2 | |
| Note that attributes on expressions are still unstable and are behind the `stmt_expr_attributes` flag. cc [Tracking issue](https://github.com/rust-lang/rust/issues/15701) | ||||
| 2016-09-27 | With `--test`, make `#[test]` functions `pub` in `InvocationCollector` | Jeffrey Seyfried | -1/+1 | |
| and expand the `__test_reexports` in the correct scope. | ||||
