Skip to content

Conversation

@ilslv
Copy link
Member

@ilslv ilslv commented Feb 22, 2022

Part of #1000

Synopsis

GraphQL October 2021 spec allows interfaces to implement other interfaces.

Solution

Allow interfaces to implement other interfaces and add compile-time asserts to ensure correctness.

Checklist

  • Created PR:
    • In draft mode
    • Name contains Draft: prefix
    • Name contains issue reference
    • Has assignee
  • Documentation is updated (if required)
  • Tests are updated (if required)
  • Changes conform code style
  • CHANGELOG entry is added (if required)
  • FCM (final commit message) is posted
    • and approved
  • Review is completed and changes are approved
  • Before merge:
    • Milestone is set
    • PR's name and description are correct and up-to-date
    • Draft: prefix is removed
    • All temporary labels are removed

ilslv added 3 commits March 25, 2022 09:15
# Conflicts:
#	juniper_codegen/src/graphql_interface/attr.rs
#	juniper_codegen/src/graphql_interface/derive.rs
#	juniper_codegen/src/graphql_interface/mod.rs
@ilslv ilslv mentioned this pull request Mar 28, 2022
6 tasks
@ilslv ilslv marked this pull request as ready for review March 28, 2022 11:20
@ilslv
Copy link
Member Author

ilslv commented Mar 28, 2022

FCM

Allow interfaces to implement other interfaces (#1028, #1000)

@tyranron tyranron added this to the 0.16.0 milestone Apr 13, 2022
@tyranron tyranron mentioned this pull request May 31, 2022
26 tasks
@tyranron tyranron marked this pull request as draft May 31, 2022 11:59
ilslv added 6 commits June 24, 2022 16:15
# Conflicts:
#	juniper_codegen/src/graphql_interface/attr.rs
#	juniper_codegen/src/graphql_interface/derive.rs
#	juniper_codegen/src/graphql_interface/mod.rs
#	juniper_codegen/src/result.rs
#	tests/codegen/fail/interface/struct/attr_implementers_duplicate_pretty.stderr
#	tests/codegen/fail/interface/struct/attr_missing_field.stderr
#	tests/codegen/fail/interface/struct/derive_implementers_duplicate_pretty.stderr
#	tests/codegen/fail/interface/struct/derive_missing_field.stderr
#	tests/codegen/fail/interface/trait/implementers_duplicate_pretty.stderr
#	tests/codegen/fail/interface/trait/missing_field.stderr
#	tests/integration/src/codegen/interface_attr_struct.rs
#	tests/integration/src/codegen/interface_attr_trait.rs
#	tests/integration/src/codegen/interface_derive.rs
#	tests/integration/src/codegen/mod.rs
# Conflicts:
#	juniper/src/integrations/bson.rs
#	juniper_codegen/src/graphql_enum/derive.rs
#	juniper_codegen/src/graphql_enum/mod.rs
#	juniper_codegen/src/lib.rs
#	tests/codegen/fail/enum/derive_name_double_underscored.rs
#	tests/codegen/fail/enum/derive_name_double_underscored.stderr
#	tests/codegen/fail/enum/derive_no_fields.stderr
#	tests/codegen/fail/enum/derive_variant_with_field.rs
#	tests/codegen/fail/enum/derive_variant_with_field.stderr
#	tests/codegen/fail/enum/derive_wrong_item.rs
#	tests/codegen/fail/enum/derive_wrong_item.stderr
#	tests/codegen/fail/interface/struct/attr_missing_field.stderr
#	tests/codegen/fail/interface/struct/derive_missing_field.stderr
#	tests/codegen/fail/interface/trait/missing_field.stderr
#	tests/integration/src/codegen/enum_derive.rs
@ilslv ilslv changed the title Draft: Allow interfaces to implement other interfaces (#1000) Allow interfaces to implement other interfaces (#1000) Jun 27, 2022
@ilslv ilslv marked this pull request as ready for review June 27, 2022 05:51
@ilslv ilslv requested a review from tyranron June 27, 2022 07:23
@tyranron tyranron enabled auto-merge (squash) June 27, 2022 11:56
@tyranron tyranron merged commit 9ca2364 into master Jun 27, 2022
@tyranron tyranron deleted the interface-inheritance branch June 27, 2022 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Improvement of existing features or bugfix k::api Related to API (application interface)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants