| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2022-10-10 | Rollup merge of #101789 - gimbles:let, r=estebank | Matthias Krüger | -1/+17 | |
| `let`'s not needed in struct field definitions Fixes #101683 | ||||
| 2022-10-10 | Fix compiler docs | Guillaume Gomez | -1/+2 | |
| 2022-10-10 | `let` is not allowed in struct field definitions | gimbles | -1/+17 | |
| Co-authored-by: jyn514 <jyn514@gmail.com> Co-authored-by: Esteban Kuber <estebank@users.noreply.github.com> | ||||
| 2022-10-10 | Rollup merge of #102345 - chenyukang:fix-102182-impl-trait, r=estebank | Yuki Okushi | -2/+34 | |
| Recover from impl Trait in type param bound Fixes #102182 r? ``@estebank`` | ||||
| 2022-10-08 | Stabilize half_open_range_patterns | Urgau | -1/+0 | |
| 2022-10-08 | fix #102182, recover from impl Trait in type param bound | yukang | -2/+34 | |
| 2022-10-03 | Invert `is_top_level` to avoid negation. | Nicholas Nethercote | -5/+5 | |
| 2022-10-03 | Remove `TokenStreamBuilder`. | Nicholas Nethercote | -37/+20 | |
| It's now only used in one function. Also, the "should we glue the tokens?" check is only necessary when pushing a `TokenTree::Token`, not when pushing a `TokenTree::Delimited`. As part of this, we now do the "should we glue the tokens?" check immediately, which avoids having look back at the previous token. It also puts all the logic dealing with token gluing in a single place. | ||||
| 2022-10-03 | Inline and remove `parse_token_tree_non_delim_non_eof`. | Nicholas Nethercote | -16/+14 | |
| It has a single call site. | ||||
| 2022-10-03 | Merge `parse_token_trees_until_close_delim` and `parse_all_token_trees`. | Nicholas Nethercote | -24/+17 | |
| Because they're very similar, and this will allow some follow-up changes. | ||||
| 2022-10-03 | Add comments to `TokenCursor::desugar`. | Nicholas Nethercote | -1/+5 | |
| It took me some time to work out what this code was doing. | ||||
| 2022-10-01 | Rollup merge of #102500 - compiler-errors:parse-sess-cleanup, r=cjgillot | Matthias Krüger | -3/+5 | |
| Remove `expr_parentheses_needed` from `ParseSess` Not sure why this method needed to exist on `ParseSess`, but we can achieve the same behavior by just inlining it everywhere. | ||||
| 2022-10-01 | Replace some `bool` params with an enum | Maybe Waffle | -44/+52 | |
| 2022-10-01 | Recover wrong cased keywords starting functions | Maybe Waffle | -48/+67 | |
| 2022-10-01 | recover wrong-cased `use`s (`Use`, `USE`, etc) | Maybe Waffle | -3/+49 | |
| 2022-09-30 | Rollup merge of #102493 - nnethercote:improve-size-assertions-some-more, r=lqd | Matthias Krüger | -8/+10 | |
| Group together more size assertions. Also add a few more assertions for some relevant token-related types. And fix an erroneous comment in `rustc_errors`. r? `@lqd` | ||||
| 2022-10-01 | Group together more size assertions. | Nicholas Nethercote | -8/+10 | |
| Also add a few more assertions for some relevant token-related types. And fix an erroneous comment in `rustc_errors`. | ||||
| 2022-09-30 | Rollup merge of #102350 - TaKO8Ki:incomplete-fn-in-struct-definition, ↵ | Matthias Krüger | -11/+17 | |
| r=fee1-dead Improve errors for incomplete functions in struct definitions Given the following code: ```rust fn main() {} struct Foo { fn } ``` [playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=29139f870511f6918324be5ddc26c345) The current output is: ``` Compiling playground v0.0.1 (/playground) error: functions are not allowed in struct definitions --> src/main.rs:4:5 | 4 | fn | ^^ | = help: unlike in C++, Java, and C#, functions are declared in `impl` blocks = help: see https://doc.rust-lang.org/book/ch05-03-method-syntax.html for more information error: could not compile `playground` due to previous error ``` In this case, rustc should suggest escaping `fn` to use it as an identifier. | ||||
| 2022-09-30 | Remove expr_parentheses_needed from ParseSess | Michael Goulet | -3/+5 | |
| 2022-09-29 | improve E0585 help | Rageking8 | -2/+2 | |
| 2022-09-28 | Auto merge of #101619 - Xiretza:rustc_parse-session-diagnostics, r=davidtwco | bors | -1253/+1749 | |
| Migrate more of rustc_parse to SessionDiagnostic Still far from complete, but I thought I'd add a checkpoint here because rebasing was starting to get annoying. | ||||
| 2022-09-28 | Auto merge of #102302 - nnethercote:more-lexer-improvements, r=matklad | bors | -398/+386 | |
| More lexer improvements A follow-up to #99884. r? `@matklad` | ||||
| 2022-09-28 | Address review comments. | Nicholas Nethercote | -8/+8 | |
| 2022-09-27 | Rollup merge of #102284 - compiler-errors:missing-type-in-raw-ptr, r=davidtwco | Matthias Krüger | -4/+7 | |
| Structured suggestion for missing `mut`/`const` in raw pointer Fixes #102261 | ||||
| 2022-09-27 | Implement IntoDiagnosticArg for rustc_ast::token::Token(Kind) | Xiretza | -56/+51 | |
| 2022-09-27 | Don't unnecessarily stringify paths in diagnostics | Xiretza | -12/+13 | |
| 2022-09-27 | Document use of Symbol::to_string() | Xiretza | -0/+2 | |
| 2022-09-27 | Migrate even more diagnostics in rustc_parse to diagnostic structs | Xiretza | -213/+342 | |
| 2022-09-27 | Migrate "struct literal body without path" error to diagnostic struct | Xiretza | -16/+29 | |
| 2022-09-27 | Migrate "expected semicolon" diagnostics to diagnostic structs | Xiretza | -16/+72 | |
| 2022-09-27 | Migrate "expected identifier" diagnostics to diagnostic structs | Xiretza | -43/+154 | |
| 2022-09-27 | Rework "inner attribute not permitted" errors | Xiretza | -58/+58 | |
| 2022-09-27 | Remove error condition in parse_attribute | Xiretza | -25/+12 | |
| This function is only ever called when the `#` has already been consumed, no need to produce an error message here. | ||||
| 2022-09-27 | Migrate more rustc_parse diagnostics to diagnostic structs | Xiretza | -155/+156 | |
| 2022-09-27 | Move rustc_parse diagnostic structs to separate module | Xiretza | -811/+819 | |
| 2022-09-27 | Migrate "invalid literal suffix" diagnostic to diagnostic structs | Xiretza | -47/+56 | |
| 2022-09-27 | Migrate more diagnostics in rustc_parse to diagnostic structs | Xiretza | -218/+402 | |
| 2022-09-28 | improve errors for incomplete functions in struct definitions | Takayuki Maeda | -11/+17 | |
| 2022-09-27 | Structured suggestion for missing mut/const in pointer | Michael Goulet | -4/+7 | |
| 2022-09-27 | Rename some variables. | Nicholas Nethercote | -10/+10 | |
| These make the delimiter processing clearer. | ||||
| 2022-09-27 | add a label to struct/enum/union ident name | Takayuki Maeda | -10/+26 | |
| 2022-09-27 | create a new local var | Takayuki Maeda | -5/+3 | |
| 2022-09-27 | Minor improvements. | Nicholas Nethercote | -3/+5 | |
| Add some comments, and mark one path as unreachable. | ||||
| 2022-09-26 | Rollup merge of #102286 - compiler-errors:recover-semi-in-block-item, ↵ | Matthias Krüger | -7/+30 | |
| r=davidtwco Recover some items that expect braces and don't take semicolons Fixes #102262 | ||||
| 2022-09-26 | remove cfg(bootstrap) | Pietro Albini | -1/+0 | |
| 2022-09-26 | Auto merge of #102297 - fee1-dead-contrib:rollup-2np0cre, r=fee1-dead | bors | -0/+17 | |
| Rollup of 5 pull requests Successful merges: - #102143 (Recover from struct nested in struct) - #102178 (bootstrap: the backtrace feature is stable, no need to allow it any more) - #102197 (Stabilize const `BTree{Map,Set}::new`) - #102267 (Don't set RUSTC in the bootstrap build script) - #102270 (Remove benches from `rustc_middle`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup | ||||
| 2022-09-26 | Inline and remove `cook_lexer_token`. | Nicholas Nethercote | -171/+174 | |
| This is a small performance win, alas. | ||||
| 2022-09-26 | Add `rustc_lexer::TokenKind::Eof`. | Nicholas Nethercote | -8/+2 | |
| For alignment with `rust_ast::TokenKind::Eof`. Plus it's a bit faster, due to less `Option` manipulation in `StringReader::next_token`. | ||||
| 2022-09-26 | Use less DRY in `cook_lexer_token`. | Nicholas Nethercote | -19/+19 | |
| This is a case where a small amount of repetition results in code that is faster and easier to read. | ||||
| 2022-09-26 | Make `rustc_lexer::cursor::Cursor` public. | Nicholas Nethercote | -10/+13 | |
| `Cursor` is currently hidden, and the main tokenization path uses `rustc_lexer::first_token` which involves constructing a new `Cursor` for every single token, which is weird. Also, `first_token` also can't handle empty input, so callers have to check for that first. This commit makes `Cursor` public, so `StringReader` can contain a `Cursor`, which results in a simpler structure. The commit also changes `StringReader::advance_token` so it returns an `Option<Token>`, simplifying the the empty input case. | ||||
