| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-12-07 | Print the visibility in `print_variant`. | Mazdak Farrokhzad | -0/+1 | |
| 2019-12-06 | Rename to `then_some` and `then` | varkor | -1/+1 | |
| 2019-12-06 | Use `to_option` in various places | varkor | -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 | -10/+15 | |
| 2019-12-02 | syntax: Remove redundant span from `ast::Mac` | Vadim Petrochenkov | -2/+2 | |
| Also remove a couple of redundant `visit_mac` asserts | ||||
| 2019-12-02 | syntax: Introduce a struct `MacArgs` for macro arguments | Vadim Petrochenkov | -14/+10 | |
| 2019-11-24 | Add raw address of expressions to the AST and HIR | Matthew Jasper | -17/+20 | |
| 2019-11-16 | ast: Keep string literals in ABIs precisely | Vadim Petrochenkov | -6/+4 | |
| 2019-11-16 | ast: Keep `extern` qualifiers in functions more precisely | Vadim Petrochenkov | -7/+15 | |
| 2019-11-14 | TAIT: remove `OpaqueTy` in AST. | Mazdak Farrokhzad | -20/+0 | |
| 2019-11-10 | move syntax::parse -> librustc_parse | Mazdak Farrokhzad | -7/+7 | |
| also move MACRO_ARGUMENTS -> librustc_parse | ||||
| 2019-11-10 | move config.rs to libsyntax_expand | Mazdak Farrokhzad | -2/+5 | |
| 2019-11-08 | ast::ItemKind::Fn: use ast::FnSig | Mazdak Farrokhzad | -3/+3 | |
| 2019-11-08 | ast::MethodSig -> ast::FnSig | Mazdak Farrokhzad | -1/+1 | |
| 2019-11-07 | move syntax::parse::lexer::comments -> syntax::util::comments | Mazdak Farrokhzad | -1/+1 | |
| 2019-11-07 | move parse::classify -> util::classify | Mazdak Farrokhzad | -2/+2 | |
| 2019-11-07 | syntax::parser::token -> syntax::token | Mazdak Farrokhzad | -1/+1 | |
| 2019-11-07 | parser: don't hardcode ABIs into grammar | Mazdak Farrokhzad | -5/+8 | |
| 2019-11-06 | Make doc comments cheaper with `AttrKind`. | Nicholas Nethercote | -9/+12 | |
| `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-02 | Convert `x.as_str().to_string()` to `x.to_string()` where possible. | Nicholas Nethercote | -3/+3 | |
| 2019-10-15 | syntax::parse::sess -> syntax::sess | Mazdak Farrokhzad | -1/+2 | |
| 2019-10-14 | pprust: `p1@p2` -> `p1 @ p2` | Mazdak Farrokhzad | -1/+2 | |
| 2019-09-30 | syntax: Support modern attribute syntax in the `meta` matcher | Vadim Petrochenkov | -18/+22 | |
| 2019-09-27 | Filter out stmts made for the redundant_semicolon lint when pretty-printing | nathanwhit | -3/+12 | |
| 2019-09-26 | Rename `MetaItem.node` to `MetaItem.kind` | varkor | -1/+1 | |
| 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 | -2/+2 | |
| 2019-09-26 | Rename `Ty.node` to `Ty.kind` | varkor | -2/+2 | |
| 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 | -2/+2 | |
| 2019-09-26 | Rename `Expr.node` to `Expr.kind` | varkor | -30/+27 | |
| For both `ast::Expr` and `hir::Expr`. | ||||
| 2019-09-17 | Print syntax contexts and marks when printing hygiene information | Matthew Jasper | -0/+2 | |
| 2019-09-15 | Print visibility of `macro` items | Matthew Jasper | -2/+6 | |
| 2019-09-07 | Aggregation of cosmetic changes made during work on REPL PRs: libsyntax | Alexander Regueiro | -27/+25 | |
| 2019-09-07 | Rollup merge of #63919 - matthewjasper:remove-gensymmed, r=petrochenkov | Mazdak Farrokhzad | -4/+8 | |
| Use hygiene for AST passes AST passes are now able to have resolve consider their expansions as if they were opaque macros defined either in some module in the current crate, or a fake empty module with `#[no_implicit_prelude]`. * Add an ExpnKind for AST passes. * Remove gensyms in AST passes. * Remove gensyms in`#[test]`, `#[bench]` and `#[test_case]`. * Allow opaque macros to define tests. * Move tests for unit tests to their own directory. * Remove `Ident::{gensym, is_gensymed}` - `Ident::gensym_if_underscore` still exists. cc #60869, #61019 r? @petrochenkov | ||||
| 2019-09-06 | Rollup merge of #64111 - Centril:ast-only-patkind-or, r=petrochenkov | Mazdak Farrokhzad | -13/+8 | |
| or-patterns: Uniformly use `PatKind::Or` in AST & Fix/Cleanup resolve Following up on work in https://github.com/rust-lang/rust/pull/63693 and https://github.com/rust-lang/rust/pull/61708, in this PR we: - Uniformly use `PatKind::Or(...)` in AST: - Change `ast::Arm.pats: Vec<P<Pat>>` => `ast::Arm.pat: P<Pat>` - Change `ast::ExprKind::Let.0: Vec<P<Pat>>` => `ast::ExprKind::Let.0: P<Pat>` - Adjust `librustc_resolve/late.rs` to correctly handle or-patterns at any level of nesting as a result. In particular, the already-bound check which rejects e.g. `let (a, a);` now accounts for or-patterns. The consistency checking (ensures no missing bindings and binding mode consistency) also now accounts for or-patterns. In the process, a bug was found in the current compiler which allowed: ```rust enum E<T> { A(T, T), B(T) } use E::*; fn foo() { match A(0, 1) { B(mut a) | A(mut a, mut a) => {} } } ``` The new algorithms took a few iterations to get right. I tried several clever schemes but ultimately a version based on a stack of hashsets and recording product/sum contexts was chosen since it is more clearly correct. - Clean up `librustc_resolve/late.rs` by, among other things, using a new `with_rib` function to better ensure stack dicipline. - Do not push the change in AST to HIR for now to avoid doing too much in this PR. To cope with this, we introduce a temporary hack in `rustc::hir::lowering` (clearly marked in the diff). cc https://github.com/rust-lang/rust/issues/54883 cc @dlrobertson @matthewjasper r? @petrochenkov | ||||
| 2019-09-05 | Fix 2018 edition expanded pretty printing | Matthew Jasper | -4/+8 | |
| 2019-09-05 | or-patterns: syntax: adjust pretty printing. | Mazdak Farrokhzad | -13/+8 | |
| 2019-09-03 | use TokenStream rather than &[TokenTree] for built-in macros | Aleksey Kladov | -5/+1 | |
| That way, we don't loose the jointness info | ||||
| 2019-08-27 | Cleanup: Consistently use `Param` instead of `Arg` #62426 | Kevin Per | -9/+9 | |
| 2019-08-25 | pprust: Do not print spaces before some tokens | Vadim Petrochenkov | -1/+13 | |
| 2019-08-17 | initial implementation of or-pattern parsing | Dan Robertson | -35/+12 | |
| Initial implementation of parsing or-patterns e.g., `Some(Foo | Bar)`. This is a partial implementation of RFC 2535. | ||||
| 2019-08-17 | Initial implementation of or patterns | varkor | -2/+31 | |
| 2019-08-15 | `Ident::with_empty_ctxt` -> `Ident::with_dummy_span` | Vadim Petrochenkov | -3/+3 | |
| `Ident` has had a full span rather than just a `SyntaxContext` for a long time now. | ||||
| 2019-08-15 | Remove `Spanned` from `{ast,hir}::FieldPat` | Vadim Petrochenkov | -4/+4 | |
| 2019-08-15 | Remove `Spanned` from `ast::Mac` | Vadim Petrochenkov | -7/+7 | |
| 2019-08-14 | Merge Variant and Variant_ | Caio | -3/+3 | |
