diff --git a/src/Analyzers/CSharp/Analyzers/UseAutoProperty/CSharpUseAutoPropertyAnalyzer.cs b/src/Analyzers/CSharp/Analyzers/UseAutoProperty/CSharpUseAutoPropertyAnalyzer.cs index cece3d875b056..9f92169ffc609 100644 --- a/src/Analyzers/CSharp/Analyzers/UseAutoProperty/CSharpUseAutoPropertyAnalyzer.cs +++ b/src/Analyzers/CSharp/Analyzers/UseAutoProperty/CSharpUseAutoPropertyAnalyzer.cs @@ -52,7 +52,8 @@ private void AnalyzeMemberDeclaration( } else if (member.IsKind(SyntaxKind.ClassDeclaration, out TypeDeclarationSyntax? typeDeclaration) || member.IsKind(SyntaxKind.StructDeclaration, out typeDeclaration) || - member.IsKind(SyntaxKind.RecordDeclaration, out typeDeclaration)) + member.IsKind(SyntaxKind.RecordDeclaration, out typeDeclaration) || + member.IsKind(SyntaxKind.RecordStructDeclaration, out typeDeclaration)) { // If we have a class or struct, recurse inwards. AnalyzeMembers(context, typeDeclaration.Members, analysisResults); diff --git a/src/Analyzers/CSharp/Tests/UseAutoProperty/UseAutoPropertyTests.cs b/src/Analyzers/CSharp/Tests/UseAutoProperty/UseAutoPropertyTests.cs index 2a764d2991358..3fa3aff3dd894 100644 --- a/src/Analyzers/CSharp/Tests/UseAutoProperty/UseAutoPropertyTests.cs +++ b/src/Analyzers/CSharp/Tests/UseAutoProperty/UseAutoPropertyTests.cs @@ -2533,6 +2533,21 @@ await TestInRegularAndScript1Async( public readonly int P => i; }", @"struct S +{ + public readonly int P { get; } +}"); + } + + [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsUseAutoProperty)] + public async Task TestPropertyInRecordStruct() + { + await TestInRegularAndScript1Async( +@"record struct S +{ + [|int i|]; + public readonly int P => i; +}", +@"record struct S { public readonly int P { get; } }");