@@ -861,6 +861,15 @@ public static IEnumerable<object[]> NestedGenericsReturnParameterData()
861861 // public IEnumerable<Tuple<Tuple<string, object?>, int>?> MethodReturnsEnumerableNonTupleNonNonNullTupleNonNullNon() => null!;
862862 yield return new object [ ] { "MethodReturnsEnumerableNonTupleNonNonNullTupleNonNullNon" ,
863863 NullabilityState . NotNull , NullabilityState . NotNull , NullabilityState . NotNull , NullabilityState . Nullable , NullabilityState . NotNull , NullabilityState . Nullable } ;
864+ // public IEnumerable<GenericStruct<Tuple<string, object?>?, int>?>? MethodReturnsEnumerableNullStructNullNonNonTupleNonNullNull() => null;
865+ yield return new object [ ] { "MethodReturnsEnumerableNullStructNullNonNullTupleNonNullNull" ,
866+ NullabilityState . Nullable , NullabilityState . Nullable , NullabilityState . NotNull , NullabilityState . Nullable , NullabilityState . NotNull , NullabilityState . Nullable } ;
867+ // public IEnumerable<Tuple<GenericStruct<string, object?>?, int>?>? MethodReturnsEnumerableNullTupleNullNonNullStructNonNullNull() => null;
868+ yield return new object [ ] { "MethodReturnsEnumerableNullTupleNullNonNullStructNonNullNull" ,
869+ NullabilityState . Nullable , NullabilityState . Nullable , NullabilityState . NotNull , NullabilityState . Nullable , NullabilityState . NotNull , NullabilityState . Nullable } ;
870+ // public IEnumerable<(GenericStruct<string, object?> str, int? count)> MethodReturnsEnumerableNonValueTupleNonNullNonTupleNonNullNon() => null!;
871+ yield return new object [ ] { "MethodReturnsEnumerableNonValueTupleNonNullNonStructNonNullNon" ,
872+ NullabilityState . NotNull , NullabilityState . NotNull , NullabilityState . Nullable , NullabilityState . NotNull , NullabilityState . NotNull , NullabilityState . Nullable } ;
864873 }
865874
866875 [ Theory ]
@@ -1072,12 +1081,17 @@ public void MethodParametersUnknown(string s, IDictionary<Type, string[]> dict)
10721081 public IEnumerable < Tuple < ( string name , object ? value ) , int > ? > MethodReturnsEnumerableNonTupleNonNonNullValueTupleNonNullNon ( ) => null ! ;
10731082 public IEnumerable < Tuple < ( string ? name , object value ) ? , int > ? > ? MethodReturnsEnumerableNullTupleNullNonNullValueTupleNullNonNull ( ) => null ! ;
10741083 public IEnumerable < Tuple < Tuple < string , object ? > , int > ? > MethodReturnsEnumerableNonTupleNonNonNullTupleNonNullNon ( ) => null ! ;
1084+ public IEnumerable < GenericStruct < Tuple < string , object ? > ? , int > ? > ? MethodReturnsEnumerableNullStructNullNonNullTupleNonNullNull ( ) => null ;
1085+ public IEnumerable < Tuple < GenericStruct < string , object ? > ? , int > ? > ? MethodReturnsEnumerableNullTupleNullNonNullStructNonNullNull ( ) => null ;
1086+ public IEnumerable < ( GenericStruct < string , object ? > str , int ? count ) > MethodReturnsEnumerableNonValueTupleNonNullNonStructNonNullNon ( ) => null ! ;
10751087 public void MethodNullNonNullNonNon ( string ? s , IDictionary < Type , string ? [ ] > dict ) { }
10761088 public void MethodNonNullNonNullNotNull ( string s , [ NotNull ] IDictionary < Type , string [ ] ? > ? dict ) { dict = new Dictionary < Type , string [ ] ? > ( ) ; }
10771089 public void MethodNullNonNullNullNon ( string ? s , IDictionary < Type , string ? [ ] ? > dict ) { }
10781090 public void MethodAllowNullNonNonNonNull ( [ AllowNull ] string s , IDictionary < Type , string [ ] > ? dict ) { }
10791091 }
10801092
1093+ public struct GenericStruct < T , Y > { }
1094+
10811095 internal class GenericTest < T >
10821096 {
10831097#nullable disable
0 commit comments