@@ -953,16 +953,23 @@ IsValidImplementationFieldType(fieldType, implementedFieldType):
953
953
1. If {fieldType } is a Non -Null type :
954
954
1. Let {nullableType } be the unwrapped nullable type of {fieldType }.
955
955
2. Let {implementedNullableType } be the unwrapped nullable type of
956
- {implementedFieldType } if it is a Non -Null type , otherwise let it be
957
- {implementedFieldType } directly .
956
+ {implementedFieldType } if it is a Non -Null type or Semantic - Non - Null type ,
957
+ otherwise let it be {implementedFieldType } directly .
958
958
3. Return {IsValidImplementationFieldType (nullableType,
959
959
implementedNullableType)}.
960
- 2. If {fieldType } is a List type and {implementedFieldType } is also a List type :
960
+ 2. If {fieldType } is a Semantic -Non -Null type :
961
+ 1. Let {nullableType } be the unwrapped nullable type of {fieldType }.
962
+ 2. Let {implementedNullableType } be the unwrapped nullable type of
963
+ {implementedFieldType } if it is a Semantic -Non -Null type , otherwise let it
964
+ be {implementedFieldType } directly .
965
+ 3. Return {IsValidImplementationFieldType (nullableType,
966
+ implementedNullableType)}.
967
+ 3. If {fieldType } is a List type and {implementedFieldType } is also a List type :
961
968
1. Let {itemType } be the unwrapped item type of {fieldType }.
962
969
2. Let {implementedItemType } be the unwrapped item type of
963
970
{implementedFieldType }.
964
971
3. Return {IsValidImplementationFieldType (itemType, implementedItemType)}.
965
- 3 . Return {IsSubType (fieldType, implementedFieldType)}.
972
+ 4 . Return {IsSubType (fieldType, implementedFieldType)}.
966
973
967
974
IsSubType (possibleSubType, superType):
968
975
0 commit comments