Schema { sources: { 1: SourceFile { path: "built_in.graphql", source_text: include_str!("built_in.graphql"), }, 41: SourceFile { path: "0040_field_merging_issue_755.graphql", source_text: "# Different fragments selecting the same name from different types\n# into different subselections -- all valid, unless apollo-rs\n# propagates type conditions incorrectly :)\n\ntype Subselection {\n createdAt: Int!\n}\n\ntype Issue {\n createdAt: Int\n subselection: [Subselection!]\n}\n\ntype Query {\n issue755: Issue\n}\n\nfragment topLevelFragment on Issue {\n subselection {\n createdAt\n ...subselectionFragment\n }\n ...collidingTopLevelFragment\n}\nfragment collidingTopLevelFragment on Issue {\n subselection {\n createdAt\n }\n}\nfragment subselectionFragment on Subselection {\n createdAt\n}\nquery {\n issue755 {\n ...topLevelFragment\n }\n}\n", }, }, schema_definition: SchemaDefinition { description: None, directives: [], query: Some( ComponentName { origin: Definition, name: "Query", }, ), mutation: None, subscription: None, }, directive_definitions: { "skip": built_in_directive!("skip"), "include": built_in_directive!("include"), "deprecated": built_in_directive!("deprecated"), "specifiedBy": built_in_directive!("specifiedBy"), }, types: { "__Schema": built_in_type!("__Schema"), "__Type": built_in_type!("__Type"), "__TypeKind": built_in_type!("__TypeKind"), "__Field": built_in_type!("__Field"), "__InputValue": built_in_type!("__InputValue"), "__EnumValue": built_in_type!("__EnumValue"), "__Directive": built_in_type!("__Directive"), "__DirectiveLocation": built_in_type!("__DirectiveLocation"), "Int": built_in_type!("Int"), "String": built_in_type!("String"), "Boolean": built_in_type!("Boolean"), "Subselection": Object( 174..213 @41 ObjectType { description: None, name: "Subselection", implements_interfaces: {}, directives: [], fields: { "createdAt": Component { origin: Definition, node: 196..211 @41 FieldDefinition { description: None, name: "createdAt", arguments: [], ty: NonNullNamed( "Int", ), directives: [], }, }, }, }, ), "Issue": Object( 215..278 @41 ObjectType { description: None, name: "Issue", implements_interfaces: {}, directives: [], fields: { "createdAt": Component { origin: Definition, node: 230..244 @41 FieldDefinition { description: None, name: "createdAt", arguments: [], ty: Named( "Int", ), directives: [], }, }, "subselection": Component { origin: Definition, node: 247..276 @41 FieldDefinition { description: None, name: "subselection", arguments: [], ty: List( NonNullNamed( "Subselection", ), ), directives: [], }, }, }, }, ), "Query": Object( 280..312 @41 ObjectType { description: None, name: "Query", implements_interfaces: {}, directives: [], fields: { "issue755": Component { origin: Definition, node: 295..310 @41 FieldDefinition { description: None, name: "issue755", arguments: [], ty: Named( "Issue", ), directives: [], }, }, }, }, ), }, } ExecutableDocument { sources: { 1: SourceFile { path: "built_in.graphql", source_text: include_str!("built_in.graphql"), }, 41: SourceFile { path: "0040_field_merging_issue_755.graphql", source_text: "# Different fragments selecting the same name from different types\n# into different subselections -- all valid, unless apollo-rs\n# propagates type conditions incorrectly :)\n\ntype Subselection {\n createdAt: Int!\n}\n\ntype Issue {\n createdAt: Int\n subselection: [Subselection!]\n}\n\ntype Query {\n issue755: Issue\n}\n\nfragment topLevelFragment on Issue {\n subselection {\n createdAt\n ...subselectionFragment\n }\n ...collidingTopLevelFragment\n}\nfragment collidingTopLevelFragment on Issue {\n subselection {\n createdAt\n }\n}\nfragment subselectionFragment on Subselection {\n createdAt\n}\nquery {\n issue755 {\n ...topLevelFragment\n }\n}\n", }, }, operations: OperationMap { anonymous: Some( 592..643 @41 Operation { operation_type: Query, name: None, variables: [], directives: [], selection_set: SelectionSet { ty: "Query", selections: [ Field( 603..641 @41 Field { definition: 295..310 @41 FieldDefinition { description: None, name: "issue755", arguments: [], ty: Named( "Issue", ), directives: [], }, alias: None, name: "issue755", arguments: [], directives: [], selection_set: SelectionSet { ty: "Issue", selections: [ FragmentSpread( 618..637 @41 FragmentSpread { fragment_name: "topLevelFragment", directives: [], }, ), ], }, }, ), ], }, }, ), named: {}, }, fragments: { "topLevelFragment": 314..446 @41 Fragment { name: "topLevelFragment", directives: [], selection_set: SelectionSet { ty: "Issue", selections: [ Field( 353..413 @41 Field { definition: 247..276 @41 FieldDefinition { description: None, name: "subselection", arguments: [], ty: List( NonNullNamed( "Subselection", ), ), directives: [], }, alias: None, name: "subselection", arguments: [], directives: [], selection_set: SelectionSet { ty: "Subselection", selections: [ Field( 372..381 @41 Field { definition: 196..211 @41 FieldDefinition { description: None, name: "createdAt", arguments: [], ty: NonNullNamed( "Int", ), directives: [], }, alias: None, name: "createdAt", arguments: [], directives: [], selection_set: SelectionSet { ty: "Int", selections: [], }, }, ), FragmentSpread( 386..409 @41 FragmentSpread { fragment_name: "subselectionFragment", directives: [], }, ), ], }, }, ), FragmentSpread( 416..444 @41 FragmentSpread { fragment_name: "collidingTopLevelFragment", directives: [], }, ), ], }, }, "collidingTopLevelFragment": 447..529 @41 Fragment { name: "collidingTopLevelFragment", directives: [], selection_set: SelectionSet { ty: "Issue", selections: [ Field( 495..527 @41 Field { definition: 247..276 @41 FieldDefinition { description: None, name: "subselection", arguments: [], ty: List( NonNullNamed( "Subselection", ), ), directives: [], }, alias: None, name: "subselection", arguments: [], directives: [], selection_set: SelectionSet { ty: "Subselection", selections: [ Field( 514..523 @41 Field { definition: 196..211 @41 FieldDefinition { description: None, name: "createdAt", arguments: [], ty: NonNullNamed( "Int", ), directives: [], }, alias: None, name: "createdAt", arguments: [], directives: [], selection_set: SelectionSet { ty: "Int", selections: [], }, }, ), ], }, }, ), ], }, }, "subselectionFragment": 530..591 @41 Fragment { name: "subselectionFragment", directives: [], selection_set: SelectionSet { ty: "Subselection", selections: [ Field( 580..589 @41 Field { definition: 196..211 @41 FieldDefinition { description: None, name: "createdAt", arguments: [], ty: NonNullNamed( "Int", ), directives: [], }, alias: None, name: "createdAt", arguments: [], directives: [], selection_set: SelectionSet { ty: "Int", selections: [], }, }, ), ], }, }, }, }