dotnet/roslyn
Improve parser error recovery for misplaced `ref` modifier of a struct declaration
Open
#84,734 opened on Aug 2, 2026
Area-CompilersFeature - Ref Fieldshelp wanted
Repository metrics
- Stars
- (20,414 stars)
- PR merge metrics
- (Avg merge 6d 17h) (256 merged PRs in 30d)
Description
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