| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-06-18 | Run `rustfmt --file-lines ...` for changes from previous commits. | Eduard-Mihai Burtescu | -5/+6 | |
| 2019-06-18 | rustc: remove 'x: 'y bounds (except from comments/strings). | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-09 | Allow attributes in formal function parameters | Caio | -1/+1 | |
| 2019-06-05 | Aggregation of drive-by cosmetic changes. | Alexander Regueiro | -2/+1 | |
| 2019-05-27 | Avoid unnecessary internings. | Nicholas Nethercote | -3/+2 | |
| Most involving `Symbol::intern` on string literals. | ||||
| 2019-05-22 | Eliminate unnecessary `Ident::with_empty_ctxt`s | Vadim Petrochenkov | -1/+1 | |
| 2019-05-22 | Simplify use of keyword symbols | Vadim Petrochenkov | -6/+6 | |
| 2019-05-13 | Return a `Symbol` from `name_or_empty` functions. | Nicholas Nethercote | -2/+2 | |
| 2019-05-13 | Pass a `Symbol` to `check_name`, `emit_feature_err`, and related functions. | Nicholas Nethercote | -2/+2 | |
| 2019-03-25 | Auto merge of #59256 - petrochenkov:derval2, r=Zoxc | bors | -3/+4 | |
| Make meta-item API compatible with `LocalInternedString::get` soundness fix r? @Zoxc | ||||
| 2019-03-24 | Remove methods is_struct/is_tuple/is_unit from VariantData | Vadim Petrochenkov | -3/+5 | |
| 2019-03-17 | Make meta-item API compatible with `LocalInternedString::get` soundness fix | Vadim Petrochenkov | -3/+4 | |
| 2019-03-16 | syntax: Do not accidentally treat multi-segment meta-items as single-segment | Vadim Petrochenkov | -6/+3 | |
| 2019-02-10 | rustc: doc comments | Alexander Regueiro | -8/+8 | |
| 2019-02-07 | Support const generics in derive | varkor | -1/+15 | |
| Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com> | ||||
| 2019-02-07 | Rollup merge of #58133 - taiki-e:libsyntax_ext-2018, r=Centril | kennytm | -69/+68 | |
| libsyntax_ext => 2018 Transitions `libsyntax_ext` to Rust 2018; cc #58099 r? @Centril | ||||
| 2019-02-06 | Overhaul `syntax::fold::Folder`. | Nicholas Nethercote | -6/+6 | |
| 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-04 | libsyntax_ext => 2018 | Taiki Endo | -69/+68 | |
| 2018-12-25 | Remove licenses | Mark Rousskov | -20/+0 | |
| 2018-12-07 | Various minor/cosmetic improvements to code | Alexander Regueiro | -10/+10 | |
| 2018-12-04 | syntax: Rename some keywords | Vadim Petrochenkov | -1/+1 | |
| `CrateRoot` -> `PathRoot`, `::` doesn't necessarily mean crate root now `SelfValue` -> `SelfLower`, `SelfType` -> `SelfUpper`, both `self` and `Self` can be used in type and value namespaces now | ||||
| 2018-11-18 | Rollup merge of #55827 - ljedrz:various_stashed, r=alexcrichton | Pietro Albini | -10/+8 | |
| A few tweaks to iterations/collecting - simplify and speed up `dot::GraphWalk::nodes` for `cfg::CFG` - `reserve` the capacity for `edges` in `DepGraph::query` - collect directly to a `HirVec` in `LoweringContext::lower_attrs` - fix overallocation in `OnDiskCache::serialize` - preallocate the `new_partitioning` vector in `merge_codegen_units` - simplify `impl FromHex for str` - improve the creation of `self_arg_names` in `impl MethodDef` | ||||
| 2018-11-13 | fix various typos in doc comments | Andy Russell | -1/+1 | |
| 2018-11-13 | A few tweaks to iterations/collecting | ljedrz | -10/+8 | |
| 2018-10-31 | syntax: improve a few allocations | ljedrz | -1/+1 | |
| 2018-10-20 | handle errors based on parse_sess | csmoe | -5/+5 | |
| 2018-08-19 | mv (mod) codemap source_map | Donato Sciarra | -3/+3 | |
| 2018-08-13 | Move SmallVec and ThinVec out of libsyntax | ljedrz | -1/+2 | |
| 2018-08-09 | [nll] libsyntax_ext: remove unnecessary mut annotation on variable | memoryruins | -1/+1 | |
| Pointed out by nll. It is correct that the mut annotation is not needed. | ||||
| 2018-07-29 | Replace push loops with collect() and extend() where possible | ljedrz | -9/+8 | |
| 2018-07-23 | libsyntax_ext: Prefer `Option::map` over `match` where applicable | Colin Wallace | -8/+4 | |
| 2018-07-14 | Remove most of `PartialEq` impls from AST and HIR structures | Vadim Petrochenkov | -11/+6 | |
| 2018-07-12 | Deny bare trait objects in src/libsyntax_ext | ljedrz | -4/+4 | |
| 2018-06-21 | Parse async fn header. | Without Boats | -5/+5 | |
| This is gated on edition 2018 & the `async_await` feature gate. The parser will accept `async fn` and `async unsafe fn` as fn items. Along the same lines as `const fn`, only `async unsafe fn` is permitted, not `unsafe async fn`.The parser will not accept `async` functions as trait methods. To do a little code clean up, four fields of the function type struct have been merged into the new `FnHeader` struct: constness, asyncness, unsafety, and ABI. Also, a small bug in HIR printing is fixed: it previously printed `const unsafe fn` as `unsafe const fn`, which is grammatically incorrect. | ||||
| 2018-06-20 | Fix additional comments | varkor | -1/+1 | |
| 2018-06-20 | Rename ty_param_bound to trait_bound | varkor | -5/+5 | |
| 2018-06-20 | Rename ParamBound(s) to GenericBound(s) | varkor | -2/+2 | |
| 2018-06-20 | Remove name from GenericParamKind::Lifetime | varkor | -4/+4 | |
| 2018-06-20 | Lift bounds into GenericParam | varkor | -12/+10 | |
| 2018-06-20 | Simply joint lifetime/type iteration | varkor | -57/+21 | |
| 2018-06-20 | Rename structures in ast | varkor | -18/+18 | |
| 2018-06-20 | Remove all traces of lifetimes() and types() methods | varkor | -23/+21 | |
| 2018-06-20 | Remove methods from ast::GenericParam and ast::Generics | varkor | -1/+4 | |
| 2018-06-20 | Refactor ast::GenericParam as a struct | varkor | -28/+23 | |
| 2018-06-20 | Refactor hir::GenericParam as a struct | varkor | -3/+7 | |
| 2018-06-20 | Rename ast::GenericParam and ast::GenericArg | varkor | -20/+20 | |
| It's so confusing to have everything having the same name, at least while refactoring. | ||||
| 2018-06-20 | Rename "parameter" to "arg" | varkor | -8/+8 | |
| 2018-06-20 | Rename *Parameter to *Param | varkor | -8/+8 | |
| 2018-06-20 | Consolidate PathParameters and AngleBracketedParameterData | varkor | -15/+28 | |
| 2018-05-02 | Remove Option from the return type of Attribute::name() | Seiichi Uchida | -1/+1 | |
