@@ -861,6 +861,15 @@ public static IEnumerable<object[]> NestedGenericsReturnParameterData()
861
861
// public IEnumerable<Tuple<Tuple<string, object?>, int>?> MethodReturnsEnumerableNonTupleNonNonNullTupleNonNullNon() => null!;
862
862
yield return new object [ ] { "MethodReturnsEnumerableNonTupleNonNonNullTupleNonNullNon" ,
863
863
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 } ;
864
873
}
865
874
866
875
[ Theory ]
@@ -1072,12 +1081,17 @@ public void MethodParametersUnknown(string s, IDictionary<Type, string[]> dict)
1072
1081
public IEnumerable < Tuple < ( string name , object ? value ) , int > ? > MethodReturnsEnumerableNonTupleNonNonNullValueTupleNonNullNon ( ) => null ! ;
1073
1082
public IEnumerable < Tuple < ( string ? name , object value ) ? , int > ? > ? MethodReturnsEnumerableNullTupleNullNonNullValueTupleNullNonNull ( ) => null ! ;
1074
1083
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 ! ;
1075
1087
public void MethodNullNonNullNonNon ( string ? s , IDictionary < Type , string ? [ ] > dict ) { }
1076
1088
public void MethodNonNullNonNullNotNull ( string s , [ NotNull ] IDictionary < Type , string [ ] ? > ? dict ) { dict = new Dictionary < Type , string [ ] ? > ( ) ; }
1077
1089
public void MethodNullNonNullNullNon ( string ? s , IDictionary < Type , string ? [ ] ? > dict ) { }
1078
1090
public void MethodAllowNullNonNonNonNull ( [ AllowNull ] string s , IDictionary < Type , string [ ] > ? dict ) { }
1079
1091
}
1080
1092
1093
+ public struct GenericStruct < T , Y > { }
1094
+
1081
1095
internal class GenericTest < T >
1082
1096
{
1083
1097
#nullable disable
0 commit comments