diff --git a/src/Analyzers/CSharp/CodeFixes/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationCodeFixProvider.cs b/src/Analyzers/CSharp/CodeFixes/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationCodeFixProvider.cs index 2f223094e2daf219dfff2ef0e417995417dea6ce..b906cf9fee13e2a1351fc0cef113ea1f0f655a98 100644 --- a/src/Analyzers/CSharp/CodeFixes/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationCodeFixProvider.cs +++ b/src/Analyzers/CSharp/CodeFixes/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationCodeFixProvider.cs @@ -15,6 +15,7 @@ using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Editing; +using Microsoft.CodeAnalysis.Host.Mef; using Microsoft.CodeAnalysis.Shared.Extensions; using Roslyn.Utilities; @@ -24,7 +25,7 @@ namespace Microsoft.CodeAnalysis.CSharp.UseImplicitObjectCreation internal class CSharpUseImplicitObjectCreationCodeFixProvider : SyntaxEditorBasedCodeFixProvider { [ImportingConstructor] - [SuppressMessage("RoslynDiagnosticsReliability", "RS0033:Importing constructor should be [Obsolete]", Justification = "Used in test code: https://github.com/dotnet/roslyn/issues/42814")] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] public CSharpUseImplicitObjectCreationCodeFixProvider() { } diff --git a/src/Analyzers/CSharp/Tests/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationTests.cs b/src/Analyzers/CSharp/Tests/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationTests.cs index 4cc1a1e0f191a42ba4a86eb6e5a83f49a84fd707..2c002e49c3e5f9602d843d317bf8ef8250835f46 100644 --- a/src/Analyzers/CSharp/Tests/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationTests.cs +++ b/src/Analyzers/CSharp/Tests/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationTests.cs @@ -512,6 +512,28 @@ class C FixedCode = @" using System.Collections.Generic; class C +{ + System.Collections.Generic.List list = new(); +}", + LanguageVersion = CodeAnalysis.CSharp.LanguageVersion.CSharp9, + }.RunAsync(); + } + + [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsUseImplicitObjectCreation)] + public async Task TestAlias() + { + await new VerifyCS.Test + { + TestCode = @" +using System.Collections.Generic; +using X = System.Collections.Generic.List; +class C +{ + System.Collections.Generic.List list = new [|X|](); +}", + FixedCode = @" +using System.Collections.Generic; +class C { System.Collections.Generic.List list = new(); }",