Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion spec/Section 3 -- Type System.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,9 @@ All types and directives defined within a schema must not have a name which
begins with {"\_\_"} (two underscores), as this is used exclusively by GraphQL's
introspection system.

If a GraphQL schema contains any deprecated _schema element_, a copy of the
schema that omits all deprecated _schema element_ must itself be valid.
Comment on lines +139 to +140

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe: "A copy of a GraphQL schema that omits every deprecated schema element must itself be valid."

A schema with no deprecated elements will be trivially valid. Also making sure _schema element_ is pluralized correctly.


### Root Operation Types

:: A schema defines the initial _root operation type_ for each kind of operation
Expand Down Expand Up @@ -968,7 +971,6 @@ IsValidImplementation(type, implementedType):
2. Let {implementedFieldType} be the return type of {implementedField}.
3. {IsValidImplementationFieldType(fieldType, implementedFieldType)} must
be {true}.
6. If {field} is deprecated then {implementedField} must also be deprecated.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imho we should leave this in place though as an implementation of the new definition you've added above?

I don't think the spec should leave various ways in which the subset-is-valid needs to be looked out for

separately, I think removing this actually says something else-- that an interface field being deprecated may differ from the deprecation status of an implemented field? -- that could be a separate proposal if that's what we want to explore


IsValidImplementationFieldType(fieldType, implementedFieldType):

Expand Down
Loading