| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-02-29 | Move directory `libsyntax` -> `librustc_ast` | Vadim Petrochenkov | -873/+0 | |
| 2020-02-24 | parse/ast: move `Defaultness` into variants. | Mazdak Farrokhzad | -8/+8 | |
| 2020-02-24 | ast: add `Defaultness` to `Item`, making `AssocItem` an alias. | Mazdak Farrokhzad | -1/+1 | |
| 2020-02-22 | parse: allow `type Foo: Ord` syntactically. | Mazdak Farrokhzad | -3/+4 | |
| 2020-02-18 | Rollup merge of #69194 - Centril:assoc-extern-fuse, r=petrochenkov | Mazdak Farrokhzad | -27/+29 | |
| 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 | visit: unify extern & assoc item visiting | Mazdak Farrokhzad | -33/+26 | |
| 2020-02-15 | parse extern consts | Mazdak Farrokhzad | -1/+2 | |
| 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 | -1/+1 | |
| 2020-02-15 | ast: normalize `ForeignItemKind::Ty` & `AssocItemKind::TyAlias`. | Mazdak Farrokhzad | -1/+5 | |
| 2020-02-15 | ast: move Generics into AssocItemKinds | Mazdak Farrokhzad | -3/+4 | |
| 2020-02-05 | parser: merge `fn` grammars wrt. bodies & headers | Mazdak Farrokhzad | -73/+63 | |
| also refactor `FnKind` and `visit_assoc_item` visitors | ||||
| 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 | -4/+12 | |
| 2020-01-10 | Introduce `#![feature(half_open_range_patterns)]`. | Mazdak Farrokhzad | -2/+2 | |
| This feature adds `X..`, `..X`, and `..=X` patterns. | ||||
| 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 | -3/+3 | |
| 2019-12-22 | Format the world | Mark Rousskov | -116/+133 | |
| 2019-12-12 | `AssocImplKind::{Method -> Fn}`. | Mazdak Farrokhzad | -2/+2 | |
| 2019-12-12 | Unify assoc item visitors more. | Mazdak Farrokhzad | -2/+11 | |
| 2019-12-12 | Unify associated item visitor. | Mazdak Farrokhzad | -43/+15 | |
| 2019-12-12 | parse: refactor fun ret ty & param ty | Mazdak Farrokhzad | -1/+1 | |
| 2019-12-12 | Unify `{Trait,Impl}ItemKind::TyAlias` structures. | Mazdak Farrokhzad | -2/+3 | |
| 2019-12-12 | `TraitItemKind::Type` -> `TraitItemKind::TyAlias`. | Mazdak Farrokhzad | -1/+1 | |
| 2019-12-12 | Use `Option` in `ImplItemKind::Method`. | Mazdak Farrokhzad | -4/+8 | |
| 2019-12-12 | Use `Option` in `ImplItemKind::Const`. | Mazdak Farrokhzad | -1/+1 | |
| 2019-12-02 | syntax: Use `ast::MacArgs` for attributes | Vadim Petrochenkov | -1/+9 | |
| 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 | -0/+2 | |
| *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-14 | TAIT: remove `OpaqueTy` in AST. | Mazdak Farrokhzad | -7/+0 | |
| 2019-11-11 | syntactically allow visibility on trait item & enum variant | Mazdak Farrokhzad | -0/+2 | |
| 2019-11-08 | ast::ItemKind::Fn: use ast::FnSig | Mazdak Farrokhzad | -5/+4 | |
| 2019-11-08 | ast::MethodSig -> ast::FnSig | Mazdak Farrokhzad | -1/+1 | |
| 2019-11-07 | syntax::parser::token -> syntax::token | Mazdak Farrokhzad | -1/+1 | |
| 2019-11-06 | Make doc comments cheaper with `AttrKind`. | Nicholas Nethercote | -1/+4 | |
| `AttrKind` is a new type with two variants, `Normal` and `DocComment`. It's a big performance win (over 10% in some cases) because `DocComment` lets doc comments (which are common) be represented very cheaply. `Attribute` gets some new helper methods to ease the transition: - `has_name()`: check if the attribute name matches a single `Symbol`; for `DocComment` variants it succeeds if the symbol is `sym::doc`. - `is_doc_comment()`: check if it has a `DocComment` kind. - `{get,unwrap}_normal_item()`: extract the item from a `Normal` variant; panic otherwise. Fixes #60935. | ||||
| 2019-11-06 | Remove unnecessary `Deref` impl for `Attribute`. | Nicholas Nethercote | -1/+1 | |
| This kind of thing just makes the code harder to read. | ||||
| 2019-09-26 | Rename `ForeignItem.node` to `ForeignItem.kind` | varkor | -1/+1 | |
| 2019-09-26 | Rename `Item.node` to `Item.kind` | varkor | -1/+1 | |
| 2019-09-26 | Rename `Stmt.node` to `Stmt.kind` | varkor | -1/+1 | |
| 2019-09-26 | Rename `Ty.node` to `Ty.kind` | varkor | -1/+1 | |
| 2019-09-26 | Rename `TraitItem.node` to `TraitItem.kind` | varkor | -1/+1 | |
| 2019-09-26 | Rename `ImplItem.node` to `ImplItem.kind` | varkor | -1/+1 | |
| 2019-09-26 | Rename `Pat.node` to `Pat.kind` | varkor | -1/+1 | |
| 2019-09-26 | Rename `Expr.node` to `Expr.kind` | varkor | -1/+1 | |
| For both `ast::Expr` and `hir::Expr`. | ||||
| 2019-09-15 | or-patterns: remove hack from lowering. | Mazdak Farrokhzad | -2/+0 | |
| 2019-09-07 | Apply suggestions from code review | Alexander Regueiro | -1/+1 | |
| 2019-09-07 | Aggregation of cosmetic changes made during work on REPL PRs: libsyntax | Alexander Regueiro | -10/+13 | |
| 2019-09-05 | or-patterns: address review comments. | Mazdak Farrokhzad | -1/+1 | |
