diff --git a/spec/Section 3 -- Type System.md b/spec/Section 3 -- Type System.md index 7c116bf81..3df677ee6 100644 --- a/spec/Section 3 -- Type System.md +++ b/spec/Section 3 -- Type System.md @@ -878,9 +878,11 @@ of rules must be adhered to by every Object type in a GraphQL schema. 4. For each argument of the field: 1. The argument must not have a name which begins with the characters {"\_\_"} (two underscores). - 2. The argument must accept a type where {IsInputType(argumentType)} + 2. The argument must have a unique name within that field; no two + arguments may share the same name. + 3. The argument must accept a type where {IsInputType(argumentType)} returns {true}. - 3. If argument type is Non-Null and a default value is not defined: + 4. If argument type is Non-Null and a default value is not defined: - The `@deprecated` directive must not be applied to this argument. 3. An object type may declare that it implements one or more unique interfaces. 4. An object type must be a super-set of all interfaces it implements: @@ -1228,7 +1230,9 @@ Interface types have the potential to be invalid if incorrectly defined. 4. For each argument of the field: 1. The argument must not have a name which begins with the characters {"\_\_"} (two underscores). - 2. The argument must accept a type where {IsInputType(argumentType)} + 2. The argument must have a unique name within that field; no two + arguments may share the same name. + 3. The argument must accept a type where {IsInputType(argumentType)} returns {true}. 3. An interface type may declare that it implements one or more unique interfaces, but may not implement itself. @@ -2004,7 +2008,9 @@ repeatable directives. 4. For each argument of the directive: 1. The argument must not have a name which begins with the characters {"\_\_"} (two underscores). - 2. The argument must accept a type where {IsInputType(argumentType)} returns + 2. The argument must have a unique name within that directive; no two + arguments may share the same name. + 3. The argument must accept a type where {IsInputType(argumentType)} returns {true}. ### @skip