| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-08-14 | feat: hint at unterminated strings in unknown prefix errors | Ralf Anton Beier | -0/+20 | |
| When encountering 'unknown literal prefix' errors, check for unbalanced quotes in recent code and suggest checking for unterminated string literals. | ||||
| 2025-08-13 | Merge Trait and TraitAlias handling | Deadbeef | -3/+3 | |
| 2025-08-10 | parser: fix parsing of trait bound polarity and for-binders | Nathaniel McCallum | -13/+68 | |
| The rustc AST allows both `for<>` binders and `?` polarity modifiers in trait bounds, but they are parsed in a specific order and validated for correctness: 1. `for<>` binder is parsed first. 2. Polarity modifiers (`?`, `!`) are parsed second. 3. The parser validates that binders and polarity modifiers do not conflict: ```rust if let Some(binder_span) = binder_span { match modifiers.polarity { BoundPolarity::Maybe(polarity_span) => { // Error: "for<...> binder not allowed with ? polarity" } } } ``` This implies: - `for<> ?Sized` → Valid syntax. Invalid semantics. - `?for<> Sized` → Invalid syntax. However, rust-analyzer incorrectly had special-case logic that allowed `?for<>` as valid syntax. This fix removes that incorrect special case, making rust-analyzer reject `?for<> Sized` as a syntax error, matching rustc behavior. This has caused confusion in other crates (such as syn) which rely on these files to implement correct syntax evaluation. | ||||
| 2025-07-22 | Parse `for<'a> [const]` | Chayim Refael Friedman | -192/+306 | |
| And also refactor parsing of HRTB. | ||||
| 2025-07-09 | Make `global_asm!()` work | Chayim Refael Friedman | -10/+22 | |
| Because apparently, we were not accepting inline asm in item position, completely breaking it. | ||||
| 2025-07-09 | Differentiate between `asm!()`, `global_asm!()` and `naked_asm!()`, and make ↵ | Chayim Refael Friedman | -0/+56 | |
| only `asm!()` unsafe | ||||
| 2025-06-26 | Parse new const trait syntax | Lukas Wirth | -2/+3 | |
| 2025-06-05 | Better parser recovery for macro calls in type bound position | Lukas Wirth | -0/+117 | |
| 2025-06-04 | Give path segment type anchors their own grammar rule | Lukas Wirth | -128/+139 | |
| 2025-05-30 | Update expected test output | Arthur Baars | -21/+60 | |
| 2025-05-30 | Run 'cargo codegen' to update tests | Arthur Baars | -0/+5 | |
| 2025-05-15 | Improve asm support | Chayim Refael Friedman | -0/+42 | |
| Including: - Infer `label {}` and `const` operands. - Correctly handle unsafe check inside `label {}`. - Fix an embarrassing parser typo that cause labels to never be part of the AST | ||||
| 2025-04-30 | fix: Improve parser recovery a bit | Lukas Wirth | -8/+59 | |
| 2025-04-22 | Merge pull request #19657 from ChayimFriedman2/better-offset-of | Lukas Wirth | -0/+49 | |
| feat: Better support `offset_of!()` | ||||
| 2025-04-21 | Merge pull request #19643 from ChayimFriedman2/generic-const-items | Lukas Wirth | -0/+270 | |
| feat: Parse generic consts | ||||
| 2025-04-21 | feat: parse `super let` | Lukas Wirth | -1/+24 | |
| 2025-04-21 | Allow wrapping `builtin#offset_of` fields argument in parentheses | Chayim Refael Friedman | -0/+49 | |
| This is necessary to correctly handle nested fields (`foo.bar`), see the comments in the code for explanation. | ||||
| 2025-04-21 | Parse generic consts | Chayim Refael Friedman | -0/+270 | |
| A lang team experiment, https://github.com/rust-lang/rust/issues/113521. | ||||
| 2025-03-25 | feat: parse `unsafe` record fields | Lukas Wirth | -1/+15 | |
| 2025-03-17 | chore: Bump `Edition::CURRENT` to 2024 | Lukas Wirth | -4/+12 | |
| 2025-02-23 | Fix codegen of parser inline tests runner | niller-g | -4/+4 | |
| When running `cargo codegen` the `crates/parser/test_data/generated/runner.rs` file is only updated when some file in `crates/parser/test_data/inline` changes. However this is not sufficient in all cases | ||||
| 2025-01-27 | feat: Implement `default-field-values` | Shoyu Vanilla | -14/+253 | |
| 2025-01-17 | Merge pull request #18908 from jnyfah/error-braces | Lukas Wirth | -0/+612 | |
| Fix: Detect missing errors for } braces before else in let...else statements | ||||
| 2025-01-16 | CRLF to LF | jnyfah | -100/+115 | |
| 2025-01-16 | added tests | jnyfah | -0/+597 | |
| 2025-01-16 | feat: complete raw, const keyword | lh123 | -0/+20 | |
| 2024-12-20 | Fix a case where completion was unable to expand a macro | Chayim Refael Friedman | -39/+45 | |
| Which caused the macros of the popular `tracing` crate to not offer completions. The reason is rather complicated: it boils down to macro ignoring their input and completion always choosing the first expansion. | ||||
| 2024-12-06 | Merge pull request #18625 from Veykril/push-npnxwpxuzlqz | Lukas Wirth | -0/+57 | |
| fix: Fix parser getting stuck for bad asm expressions | ||||
| 2024-12-06 | fix: Fix parser getting stuck for bad asm expressions | Lukas Wirth | -0/+57 | |
| 2024-12-05 | fix: Fix parsing of dyn T in generic arg on 2015 edition | Lukas Wirth | -1/+63 | |
| 2024-12-05 | Parse lifetime bounds in lifetime param into TypeBoundList | Lukas Wirth | -33/+56 | |
| This mainly aids in error recovery but also makes it a bit easier to handle lifetime resolution. While doing so it also came apparent that we were not actually lowering lifetime outlives relationships within lifetime parameter declaration bounds, so this fixes that. | ||||
| 2024-12-05 | fix: Fix parsing of integer/keyword name refs in various places | Lukas Wirth | -49/+237 | |
| 2024-12-04 | Fix parsing of parenthesized type args and RTN | Lukas Wirth | -555/+821 | |
| 2024-12-04 | fix: Don't create empty path nodes | Lukas Wirth | -9/+2 | |
| 2024-12-04 | Better parser recovery for incomplete attributes | Lukas Wirth | -6/+103 | |
| 2024-10-31 | Parse patterns with leading pipe properly in all places | Chayim Refael Friedman | -0/+59 | |
| 2024-10-30 | Only parse `safe` as contextual kw in extern blocks | Chayim Refael Friedman | -0/+35 | |
| I don't like the party of `bool`s that is becoming, but two isn't worth a refactoring yet IMO. | ||||
| 2024-10-27 | Merge pull request #18419 from ChayimFriedman2/leading-or | Lukas Wirth | -24/+28 | |
| fix: Put leading `|` in patterns under `OrPat` | ||||
| 2024-10-27 | Put leading `|` in patterns under `OrPat` | Chayim Refael Friedman | -24/+28 | |
| Previously it was one level above, and that caused problems with macros that expand to it, because macros expect to get only one top-level node. | ||||
| 2024-10-27 | Correctly handle `#""` in edition <2024 | Chayim Refael Friedman | -0/+7 | |
| 2024-10-22 | fix: Fix incorrect parsing of use bounds | Lukas Wirth | -8/+10 | |
| Also lower them a bit more | ||||
| 2024-10-20 | feat: initial support for safe_kw in extern blocks | roife | -0/+225 | |
| 2024-10-01 | fix: correctly parse `use` in generic parameters | SabrinaJewson | -0/+28 | |
| 2024-09-05 | asm! parsing and lowering fixes | Lukas Wirth | -7/+9 | |
| 2024-09-05 | Give InlineAsmOperand a HIR representation | Lukas Wirth | -25/+27 | |
| 2024-09-05 | Add Definition kind for asm register operand | Lukas Wirth | -16/+20 | |
| 2024-09-04 | Parse builtin#asm expressions | Lukas Wirth | -2/+91 | |
| 2024-08-26 | Fix Return Type Syntax to include `..` (i.e. `method(..)` and not ↵ | Chayim Refael Friedman | -5/+114 | |
| `method()`) as specified in the RFC | ||||
| 2024-07-23 | fix: move `use` parsing to outer match arm | winstxnhdw | -12/+13 | |
| 2024-07-23 | chore: update codegens | winstxnhdw | -0/+73 | |
