dotnet/roslyn

Improve parser error recovery for misplaced `ref` modifier of a struct declaration

Offen

#84.734 geöffnet am 02.08.2026

 (5 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C# (4.257 Forks)batch import
Area-CompilersFeature - Ref Fieldshelp wanted

Repository-Metriken

Stars
 (20.414 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 6T 17h) (256 gemergte PRs in 30 T)

Beschreibung

Case 1:

Snippet:

ref public struct MyStruct;

Expected: ref is in the modifiers list for MyStruct, error about its misplacement

Actual: ref is a part of RefTypeSyntax of IncompleteMemberSyntax while StructDeclarationSyntax starts from a public token. The error is 'Type expected' on public token

Case 2:

Snippet:

partial ref struct MyStruct;

Expected: partial is in the modifiers list for MyStruct, error about its misplacement

Actual: partial is its own IncompleteMemberSyntax. The error is on ref keyword saying about its misplacement instead

Contributor Guide