@@ -227,6 +227,67 @@ public void TestMethod(int n) { }
227227 await Verify . VerifyAnalyzerV2 ( LanguageVersion . CSharp7_1 , source , expectedV2 ) ;
228228 await Verify . VerifyAnalyzerV3 ( LanguageVersion . CSharp7_1 , source , expectedV3 ) ;
229229 }
230+
231+ #if ROSLYN_LATEST && ! NETFRAMEWORK
232+
233+ [ Fact ]
234+ public async ValueTask v3_only ( )
235+ {
236+ var source = /* lang=c#-test */ """
237+ using System.Collections;
238+ using System.Collections.Generic;
239+ using Xunit;
240+
241+ class DataClass_Enumerable_Object: IEnumerable<object> {
242+ public IEnumerator<object> GetEnumerator() => null;
243+ IEnumerator IEnumerable.GetEnumerator() => null;
244+ }
245+
246+ abstract class DataClass_Abstract: IEnumerable<object[]> {
247+ public IEnumerator<object[]> GetEnumerator() => null;
248+ IEnumerator IEnumerable.GetEnumerator() => null;
249+ }
250+
251+ class DataClass_NoParameterlessCtor: IEnumerable<object[]> {
252+ public DataClass_NoParameterlessCtor(string parameter) { }
253+ public IEnumerator<object[]> GetEnumerator() => null;
254+ IEnumerator IEnumerable.GetEnumerator() => null;
255+ }
256+
257+ class DataClass_InternalCtor: IEnumerable<object[]> {
258+ internal DataClass_InternalCtor() { }
259+ public IEnumerator<object[]> GetEnumerator() => null;
260+ IEnumerator IEnumerable.GetEnumerator() => null;
261+ }
262+
263+ class DataClass_PrivateCtor: IEnumerable<object[]> {
264+ internal DataClass_PrivateCtor() { }
265+ public IEnumerator<object[]> GetEnumerator() => null;
266+ IEnumerator IEnumerable.GetEnumerator() => null;
267+ }
268+
269+ public class TestClass {
270+ [Theory]
271+ [{|#0:ClassData<DataClass_Enumerable_Object>|}]
272+ [{|#1:ClassData<DataClass_Abstract>|}]
273+ [{|#2:ClassData<DataClass_NoParameterlessCtor>|}]
274+ [{|#3:ClassData<DataClass_InternalCtor>|}]
275+ [{|#4:ClassData<DataClass_PrivateCtor>|}]
276+ public void TestMethod(int n) { }
277+ }
278+ """ ;
279+ var expectedV3 = new [ ] {
280+ Verify . Diagnostic ( "xUnit1007" ) . WithLocation ( 0 ) . WithArguments ( "DataClass_Enumerable_Object" , SupportedV3 ) ,
281+ Verify . Diagnostic ( "xUnit1007" ) . WithLocation ( 1 ) . WithArguments ( "DataClass_Abstract" , SupportedV3 ) ,
282+ Verify . Diagnostic ( "xUnit1007" ) . WithLocation ( 2 ) . WithArguments ( "DataClass_NoParameterlessCtor" , SupportedV3 ) ,
283+ Verify . Diagnostic ( "xUnit1007" ) . WithLocation ( 3 ) . WithArguments ( "DataClass_InternalCtor" , SupportedV3 ) ,
284+ Verify . Diagnostic ( "xUnit1007" ) . WithLocation ( 4 ) . WithArguments ( "DataClass_PrivateCtor" , SupportedV3 ) ,
285+ } ;
286+
287+ await Verify . VerifyAnalyzerV3 ( LanguageVersion . CSharp11 , source , expectedV3 ) ;
288+ }
289+
290+ #endif // ROSLYN_LATEST && !NETFRAMEWORK
230291 }
231292
232293 public class X1037_TheoryDataTypeArgumentsMustMatchTestMethodParameters_TooFewTypeParameters
0 commit comments