dotnet/roslyn

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

Aperta

#84.734 aperta il 2 ago 2026

 (5 commenti) (0 reazioni) (0 assegnatari)C# (4257 fork)batch import
Area-CompilersFeature - Ref Fieldshelp wanted

Metriche repository

Star
 (20.414 stelle)
Metriche merge PR
 (Merge medio 6g 17h) (256 PR mergiate in 30 g)

Descrizione

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

Guida contributor