kensho-technologies/graphql-compiler

Remove "type_equivalence_hints" workaround for lack of interface inheritance

Opened this issue · 1 comments

graphql/graphql-spec#373 got merged and is part of GraphQL.js v15.

When this becomes available in the Python GraphQL core library:

  • We'll be able to change our schema auto-generation to produce interface types for any non-final types.
  • Edges to such types will be able to be of the appropriate interface type, instead of requiring an ad-hoc union type across all possible subtypes of the interface.
  • The type_equivalence_hints compiler hint (which tells the compiler which types and ad-hoc unions are to be considered equivalent) will no longer be necessary, and should be removed.

This will require quite a bit of work on our end, but will make the compiler leaner and easier to reason about. For example, I think resolving this issue this will cause #500 to be resolved as well.

GraphQL.js v15 comes with #863