From bc67f3693c6c8442b6928e39d517e27579b2f5de Mon Sep 17 00:00:00 2001 From: Roman Ivantsov Date: Wed, 27 Jul 2022 23:13:13 -0700 Subject: [PATCH 1/2] Fix: implementing field type is either exact match or covariant type --- spec/Section 4 -- Introspection.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/Section 4 -- Introspection.md b/spec/Section 4 -- Introspection.md index 3aa4e40e0..a6ccc2d96 100644 --- a/spec/Section 4 -- Introspection.md +++ b/spec/Section 4 -- Introspection.md @@ -317,8 +317,8 @@ Fields\: Interfaces are an abstract type where there are common fields declared. Any type that implements an interface must define all the fields with names and types -exactly matching. The implementations of this interface are explicitly listed -out in `possibleTypes`. +either exactly matching or of covariant types. The implementations of this interface +are explicitly listed out in `possibleTypes`. Fields\: From a6df98029889a774ebd59f9116eb2c5f41ad71c5 Mon Sep 17 00:00:00 2001 From: Lee Byron Date: Thu, 5 Jan 2023 11:24:29 -0800 Subject: [PATCH 2/2] Match language in IsValidImplimentation --- spec/Section 4 -- Introspection.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spec/Section 4 -- Introspection.md b/spec/Section 4 -- Introspection.md index a6ccc2d96..3054a9f6c 100644 --- a/spec/Section 4 -- Introspection.md +++ b/spec/Section 4 -- Introspection.md @@ -316,9 +316,10 @@ Fields\: **Interface** Interfaces are an abstract type where there are common fields declared. Any type -that implements an interface must define all the fields with names and types -either exactly matching or of covariant types. The implementations of this interface -are explicitly listed out in `possibleTypes`. +that implements an interface must define all the named fields where each +implementing field type is equal to or a sub-type of (covariant) the interface +type. The implementations of this interface are explicitly listed out in +`possibleTypes`. Fields\: