| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-02-29 | Move directory `libsyntax` -> `librustc_ast` | Vadim Petrochenkov | -1286/+0 | |
| 2020-02-24 | syntax: Remove `Nt(Impl,Trait,Foreign)Item` | Vadim Petrochenkov | -13/+0 | |
| 2020-02-24 | parse/ast: move `Defaultness` into variants. | Mazdak Farrokhzad | -10/+9 | |
| 2020-02-24 | ast: add `Defaultness` to `Item`, making `AssocItem` an alias. | Mazdak Farrokhzad | -4/+4 | |
| 2020-02-22 | parse: allow `type Foo: Ord` syntactically. | Mazdak Farrokhzad | -2/+3 | |
| 2020-02-18 | Rollup merge of #69194 - Centril:assoc-extern-fuse, r=petrochenkov | Mazdak Farrokhzad | -29/+22 | |
| parse: fuse associated and extern items up to defaultness Language changes: - The grammar of extern `type` aliases is unified with associated ones, and becomes: ```rust TypeItem = "type" ident generics {":" bounds}? where_clause {"=" type}? ";" ; ``` Semantic restrictions (`ast_validation`) are added to forbid any parameters in `generics`, any bounds in `bounds`, and any predicates in `where_clause`, as well as the presence of a type expression (`= u8`). (Work still remains to fuse this with free `type` aliases, but this can be done later.) - The grammar of constants and static items (free, associated, and extern) now permits the absence of an expression, and becomes: ```rust GlobalItem = {"const" {ident | "_"} | "static" "mut"? ident} {"=" expr}? ";" ; ``` - A semantic restriction is added to enforce the presence of the expression (the body). - A semantic restriction is added to reject `const _` in associated contexts. Together, these changes allow us to fuse the grammar of associated items and extern items up to `default`ness which is the main goal of the PR. ----------------------- We are now very close to fully fusing the entirely of item parsing and their ASTs. To progress further, we must make a decision: should we parse e.g. `default use foo::bar;` and whatnot? Accepting that is likely easiest from a parsing perspective, as it does not require using look-ahead, but it is perhaps not too onerous to only accept it for `fn`s (and all their various qualifiers), `const`s, `static`s, and `type`s. r? @petrochenkov | ||||
| 2020-02-17 | Rename `FunctionRetTy` to `FnRetTy` | Yuki Okushi | -3/+3 | |
| 2020-02-15 | Record proc macro harness order for use during metadata deserialization | Aaron Hill | -3/+3 | |
| Fixes #68690 When we generate the proc macro harness, we now explicitly recorder the order in which we generate entries. We then use this ordering data to deserialize the correct proc-macro-data from the crate metadata. | ||||
| 2020-02-15 | visit: unify extern & assoc item visiting | Mazdak Farrokhzad | -25/+14 | |
| 2020-02-15 | parse extern consts | Mazdak Farrokhzad | -1/+1 | |
| 2020-02-15 | parse associated statics. | Mazdak Farrokhzad | -1/+1 | |
| 2020-02-15 | ast/parser: fuse `static` & `const` grammars in all contexts. | Mazdak Farrokhzad | -1/+4 | |
| 2020-02-15 | ast: make `= <expr>;` optional in free statics/consts. | Mazdak Farrokhzad | -6/+2 | |
| 2020-02-15 | ast: normalize `ForeignItemKind::Ty` & `AssocItemKind::TyAlias`. | Mazdak Farrokhzad | -1/+5 | |
| 2020-02-15 | ast: move Generics into AssocItemKinds | Mazdak Farrokhzad | -4/+5 | |
| 2020-02-13 | IsAsync -> enum Async { Yes { span: Span, .. }, No } | Mazdak Farrokhzad | -5/+5 | |
| use new span for better diagnostics. | ||||
| 2020-02-05 | parser: merge `fn` grammars wrt. bodies & headers | Mazdak Farrokhzad | -3/+4 | |
| also refactor `FnKind` and `visit_assoc_item` visitors | ||||
| 2020-01-30 | Use `P` for `NtMeta`. | Nicholas Nethercote | -1/+2 | |
| This commit reduces the size of `Nonterminal` from a 72 bytes to 40 bytes (on x86-64). | ||||
| 2020-01-30 | Use `P` for `NtTraitItem`, `NtImplItem`, and `NtForeignItem`. | Nicholas Nethercote | -9/+9 | |
| This commit reduces the size of `Nonterminal` from a whopping 240 bytes to 72 bytes (on x86-64), which gets it below the `memcpy` threshold. It also removes some impedance mismatches with `Annotatable`, which already uses `P` for these variants. | ||||
| 2020-01-20 | Revert "Add a `constness` field to `ast::TraitRef`" | Dylan MacKenzie | -2/+1 | |
| This reverts commit fd4a6a12136c5b5d6bce4081e95890df1fd1febd. | ||||
| 2020-01-19 | Add `constness` field to `ast::ItemKind::Impl` | Dylan MacKenzie | -0/+1 | |
| 2020-01-17 | Use named fields for `ast::ItemKind::Impl` | Dylan MacKenzie | -3/+11 | |
| 2020-01-10 | Introduce `#![feature(half_open_range_patterns)]`. | Mazdak Farrokhzad | -2/+2 | |
| This feature adds `X..`, `..X`, and `..=X` patterns. | ||||
| 2020-01-09 | Add a `constness` field to `ast::TraitRef` | Dylan MacKenzie | -1/+2 | |
| This is used for both the `?const` syntax in bounds as well as the `impl const Trait` syntax. I also considered handling these separately by adding a variant of `TraitBoundModifier` and a field to `ItemKind::Impl`, but this approach was less intrusive. | ||||
| 2020-01-02 | Normalize `syntax::source_map` imports. | Mazdak Farrokhzad | -3/+3 | |
| 2020-01-01 | Rename `syntax_pos` to `rustc_span` in source code | Vadim Petrochenkov | -1/+1 | |
| 2019-12-23 | Add span information to `ExprKind::Assign` | varkor | -1/+1 | |
| 2019-12-22 | Format the world | Mark Rousskov | -100/+112 | |
| 2019-12-20 | introduce 'type AttrVec' | Mazdak Farrokhzad | -2/+1 | |
| 2019-12-12 | `AssocImplKind::{Method -> Fn}`. | Mazdak Farrokhzad | -1/+1 | |
| 2019-12-12 | Unify associated item mut visitors. | Mazdak Farrokhzad | -43/+11 | |
| 2019-12-12 | parse: refactor fun ret ty & param ty | Mazdak Farrokhzad | -2/+6 | |
| 2019-12-12 | Unify `{Trait,Impl}ItemKind::TyAlias` structures. | Mazdak Farrokhzad | -1/+4 | |
| 2019-12-12 | `TraitItemKind::Type` -> `TraitItemKind::TyAlias`. | Mazdak Farrokhzad | -1/+1 | |
| 2019-12-12 | Use `Option` in `ImplItemKind::Method`. | Mazdak Farrokhzad | -1/+1 | |
| 2019-12-12 | Use `Option` in `ImplItemKind::Const`. | Mazdak Farrokhzad | -1/+1 | |
| 2019-12-12 | Alias `TraitItem` & `ImplItem`. | Mazdak Farrokhzad | -1/+2 | |
| Allow defaultness on trait items syntactically. | ||||
| 2019-12-07 | Make `ForeignItem` an alias of `Item`. | Mazdak Farrokhzad | -1/+1 | |
| 2019-12-02 | syntax: Use `ast::MacArgs` for macro definitions | Vadim Petrochenkov | -2/+2 | |
| 2019-12-02 | syntax: Use `ast::MacArgs` for attributes | Vadim Petrochenkov | -4/+4 | |
| 2019-12-02 | syntax: Remove redundant span from `ast::Mac` | Vadim Petrochenkov | -2/+1 | |
| Also remove a couple of redundant `visit_mac` asserts | ||||
| 2019-12-02 | syntax: Introduce a struct `MacArgs` for macro arguments | Vadim Petrochenkov | -2/+22 | |
| 2019-11-24 | Add raw address of expressions to the AST and HIR | Matthew Jasper | -1/+1 | |
| 2019-11-22 | Rollup merge of #66183 - Centril:empty-vis-trait-decl, r=petrochenkov | Mazdak Farrokhzad | -22/+24 | |
| *Syntactically* permit visibilities on trait items & enum variants Fixes #65041 Suppose we have `$vis trait_item` or `$vis enum_variant` and `$vis` is a `:vis` macro fragment. Before this PR, this would fail to parse. This is now instead allowed as per language team consensus in https://github.com/rust-lang/rust/issues/65041#issuecomment-538105286. (See added tests for elaboration.) Moreover, we now also permit visibility modifiers on trait items & enum variants *syntactically* but reject them with semantic checks (in `ast_validation`): ```rust #[cfg(FALSE)] trait Foo { pub fn bar(); } // OK #[cfg(FALSE)] enum E { pub U } // OK ``` | ||||
| 2019-11-16 | ast: Keep `extern` qualifiers in functions more precisely | Vadim Petrochenkov | -2/+2 | |
| 2019-11-14 | TAIT: remove `OpaqueTy` in AST. | Mazdak Farrokhzad | -5/+0 | |
| 2019-11-11 | syntactically allow visibility on trait item & enum variant | Mazdak Farrokhzad | -22/+24 | |
| 2019-11-10 | move config.rs to libsyntax_expand | Mazdak Farrokhzad | -3/+0 | |
| 2019-11-08 | ast::ItemKind::Fn: use ast::FnSig | Mazdak Farrokhzad | -6/+5 | |
| 2019-11-08 | ast::MethodSig -> ast::FnSig | Mazdak Farrokhzad | -1/+1 | |
