diff --git a/lib/graphql/schema/addition.rb b/lib/graphql/schema/addition.rb index 35b98e6c4a..e378f729a0 100644 --- a/lib/graphql/schema/addition.rb +++ b/lib/graphql/schema/addition.rb @@ -151,7 +151,7 @@ def add_type(type, owner:, late_types:, path:) um << owner end - if (prev_type = get_local_type(type.graphql_name)) && prev_type == type + if (prev_type = get_local_type(type.graphql_name)) && (prev_type == type || (prev_type.is_a?(Array) && prev_type.include?(type))) # No need to re-visit elsif type.is_a?(Class) && type < GraphQL::Schema::Directive @directives << type