-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix implementation type generation for fragment on a union #310
fix implementation type generation for fragment on a union #310
Conversation
this seems affect the covariant test for some reason that might need your expertise it appears that
are extraneous for some unknown reason but
correctly fixed another generation issue |
nvm i figured it out! small issue with embedded type checking |
Hmm, I think I sort of understand what's going on here but I'm not sure if this is the right fix. Specifically, it seems a bit sketchy to me to be adding this as we add implementations -- couldn't we get duplicate methods or something? Shouldn't we be writing all implementations with the interface we are writing the implementations for? I'm wondering if the actual problem is that, for example, But I may be misunderstanding -- this fragment stuff gets super confusing and it's been a year or two since I last thought it through. It's not a huge problem to add redundant methods if there's a reason, I'm just worried this doesn't actually suffice to fix the problem with this query. |
I think you are right I was mostly following the compile error. the real fix is we need to make TopicNewestContentNewestContentArticle embed SimpleLeafContent and unmarshal it correctly. a good example of that would be InnerQueryFragmentRandomItemArticle |
8adaaf8
to
a2a8d58
Compare
okay i did some digging and found a better solution
so I added a special check for union type matching and it seems to solve the root cause |
I love how simple the new solution is! I'll leave it to @benjaminjkraft to do the actual reviewing, since I don't understand all the subtleties here, but I'm wondering if you want to change the title of this PR given what ended up being the actual problem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh, this makes more sense! Seems very natural to match the interface case. Thanks!
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/Khan/genqlient](https://togithub.com/Khan/genqlient) | `v0.6.0` -> `v0.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fKhan%2fgenqlient/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fKhan%2fgenqlient/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fKhan%2fgenqlient/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fKhan%2fgenqlient/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>Khan/genqlient (github.com/Khan/genqlient)</summary> ### [`v0.7.0`](https://togithub.com/Khan/genqlient/releases/tag/v0.7.0) [Compare Source](https://togithub.com/Khan/genqlient/compare/v0.6.0...v0.7.0) In addition to several new features and bugfixes, along with this release comes reorganized [documentation](https://togithub.com/Khan/genqlient/blob/main/docs) for genqlient. Note that genqlient now requires Go 1.20 or higher, and is tested through Go 1.22. #### What's Changed - Add "generic" option to the "optional" configuration for handling nullable types by [@​DylanRJohnston](https://togithub.com/DylanRJohnston) in [https://github.com/Khan/genqlient/pull/252](https://togithub.com/Khan/genqlient/pull/252) - Documentation tweaks relating to releases by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/271](https://togithub.com/Khan/genqlient/pull/271) - Add some better tests for use_struct_references by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/273](https://togithub.com/Khan/genqlient/pull/273) - Add an option to handle enums with ugly casing by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/270](https://togithub.com/Khan/genqlient/pull/270) - Add some more tests for config validation, and fix some gaps by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/274](https://togithub.com/Khan/genqlient/pull/274) - Add consideration for pointer false directive when optional: pointer configuration option is used by [@​spencermurray](https://togithub.com/spencermurray) in [https://github.com/Khan/genqlient/pull/280](https://togithub.com/Khan/genqlient/pull/280) - Update gqlparser and gqlgen dependencies by [@​StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/282](https://togithub.com/Khan/genqlient/pull/282) - Update gqlparser to omit comments by [@​StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/284](https://togithub.com/Khan/genqlient/pull/284) - bugfix: local variable 'data' colliding with argument name by [@​zholti](https://togithub.com/zholti) in [https://github.com/Khan/genqlient/pull/291](https://togithub.com/Khan/genqlient/pull/291) - Pin lint workflow's Go version by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/311](https://togithub.com/Khan/genqlient/pull/311) - Upgrade golangci-lint and which go we run it with by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/314](https://togithub.com/Khan/genqlient/pull/314) - fix implementation type generation for fragment on a union by [@​zzh8829](https://togithub.com/zzh8829) in [https://github.com/Khan/genqlient/pull/310](https://togithub.com/Khan/genqlient/pull/310) - Support more valid graphql file extensions by [@​zzh8829](https://togithub.com/zzh8829) in [https://github.com/Khan/genqlient/pull/309](https://togithub.com/Khan/genqlient/pull/309) - Add tests on Go 1.22, and upgrade x/tools to make them work by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/315](https://togithub.com/Khan/genqlient/pull/315) - Update gqlgen to latest by [@​StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/317](https://togithub.com/Khan/genqlient/pull/317) - move genqlient Go module to 1.20 by [@​StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/318](https://togithub.com/Khan/genqlient/pull/318) - Improve package-sniffing and bind correctly to types in the same package by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/316](https://togithub.com/Khan/genqlient/pull/316) - Reorganize and improve documentation by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/322](https://togithub.com/Khan/genqlient/pull/322) - Fix non-deterministic generated code involving interfaces and fragments. by [@​csilvers](https://togithub.com/csilvers) in [https://github.com/Khan/genqlient/pull/323](https://togithub.com/Khan/genqlient/pull/323) - Release v0.7.0 by [@​benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/324](https://togithub.com/Khan/genqlient/pull/324) #### New Contributors - [@​DylanRJohnston](https://togithub.com/DylanRJohnston) made their first contribution in [https://github.com/Khan/genqlient/pull/252](https://togithub.com/Khan/genqlient/pull/252) - [@​spencermurray](https://togithub.com/spencermurray) made their first contribution in [https://github.com/Khan/genqlient/pull/280](https://togithub.com/Khan/genqlient/pull/280) - [@​zholti](https://togithub.com/zholti) made their first contribution in [https://github.com/Khan/genqlient/pull/291](https://togithub.com/Khan/genqlient/pull/291) - [@​zzh8829](https://togithub.com/zzh8829) made their first contribution in [https://github.com/Khan/genqlient/pull/310](https://togithub.com/Khan/genqlient/pull/310) **Full Changelog**: Khan/genqlient@v0.6.0...v0.7.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Andrzej Stencel <[email protected]>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/Khan/genqlient](https://togithub.com/Khan/genqlient) | `v0.6.0` -> `v0.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fKhan%2fgenqlient/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fKhan%2fgenqlient/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fKhan%2fgenqlient/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fKhan%2fgenqlient/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>Khan/genqlient (github.com/Khan/genqlient)</summary> ### [`v0.7.0`](https://togithub.com/Khan/genqlient/releases/tag/v0.7.0) [Compare Source](https://togithub.com/Khan/genqlient/compare/v0.6.0...v0.7.0) In addition to several new features and bugfixes, along with this release comes reorganized [documentation](https://togithub.com/Khan/genqlient/blob/main/docs) for genqlient. Note that genqlient now requires Go 1.20 or higher, and is tested through Go 1.22. #### What's Changed - Add "generic" option to the "optional" configuration for handling nullable types by [@&open-telemetry#8203;DylanRJohnston](https://togithub.com/DylanRJohnston) in [https://github.com/Khan/genqlient/pull/252](https://togithub.com/Khan/genqlient/pull/252) - Documentation tweaks relating to releases by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/271](https://togithub.com/Khan/genqlient/pull/271) - Add some better tests for use_struct_references by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/273](https://togithub.com/Khan/genqlient/pull/273) - Add an option to handle enums with ugly casing by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/270](https://togithub.com/Khan/genqlient/pull/270) - Add some more tests for config validation, and fix some gaps by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/274](https://togithub.com/Khan/genqlient/pull/274) - Add consideration for pointer false directive when optional: pointer configuration option is used by [@&open-telemetry#8203;spencermurray](https://togithub.com/spencermurray) in [https://github.com/Khan/genqlient/pull/280](https://togithub.com/Khan/genqlient/pull/280) - Update gqlparser and gqlgen dependencies by [@&open-telemetry#8203;StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/282](https://togithub.com/Khan/genqlient/pull/282) - Update gqlparser to omit comments by [@&open-telemetry#8203;StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/284](https://togithub.com/Khan/genqlient/pull/284) - bugfix: local variable 'data' colliding with argument name by [@&open-telemetry#8203;zholti](https://togithub.com/zholti) in [https://github.com/Khan/genqlient/pull/291](https://togithub.com/Khan/genqlient/pull/291) - Pin lint workflow's Go version by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/311](https://togithub.com/Khan/genqlient/pull/311) - Upgrade golangci-lint and which go we run it with by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/314](https://togithub.com/Khan/genqlient/pull/314) - fix implementation type generation for fragment on a union by [@&open-telemetry#8203;zzh8829](https://togithub.com/zzh8829) in [https://github.com/Khan/genqlient/pull/310](https://togithub.com/Khan/genqlient/pull/310) - Support more valid graphql file extensions by [@&open-telemetry#8203;zzh8829](https://togithub.com/zzh8829) in [https://github.com/Khan/genqlient/pull/309](https://togithub.com/Khan/genqlient/pull/309) - Add tests on Go 1.22, and upgrade x/tools to make them work by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/315](https://togithub.com/Khan/genqlient/pull/315) - Update gqlgen to latest by [@&open-telemetry#8203;StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/317](https://togithub.com/Khan/genqlient/pull/317) - move genqlient Go module to 1.20 by [@&open-telemetry#8203;StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/318](https://togithub.com/Khan/genqlient/pull/318) - Improve package-sniffing and bind correctly to types in the same package by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/316](https://togithub.com/Khan/genqlient/pull/316) - Reorganize and improve documentation by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/322](https://togithub.com/Khan/genqlient/pull/322) - Fix non-deterministic generated code involving interfaces and fragments. by [@&open-telemetry#8203;csilvers](https://togithub.com/csilvers) in [https://github.com/Khan/genqlient/pull/323](https://togithub.com/Khan/genqlient/pull/323) - Release v0.7.0 by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/324](https://togithub.com/Khan/genqlient/pull/324) #### New Contributors - [@&open-telemetry#8203;DylanRJohnston](https://togithub.com/DylanRJohnston) made their first contribution in [https://github.com/Khan/genqlient/pull/252](https://togithub.com/Khan/genqlient/pull/252) - [@&open-telemetry#8203;spencermurray](https://togithub.com/spencermurray) made their first contribution in [https://github.com/Khan/genqlient/pull/280](https://togithub.com/Khan/genqlient/pull/280) - [@&open-telemetry#8203;zholti](https://togithub.com/zholti) made their first contribution in [https://github.com/Khan/genqlient/pull/291](https://togithub.com/Khan/genqlient/pull/291) - [@&open-telemetry#8203;zzh8829](https://togithub.com/zzh8829) made their first contribution in [https://github.com/Khan/genqlient/pull/310](https://togithub.com/Khan/genqlient/pull/310) **Full Changelog**: Khan/genqlient@v0.6.0...v0.7.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Andrzej Stencel <[email protected]>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/Khan/genqlient](https://togithub.com/Khan/genqlient) | `v0.6.0` -> `v0.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fKhan%2fgenqlient/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fKhan%2fgenqlient/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fKhan%2fgenqlient/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fKhan%2fgenqlient/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>Khan/genqlient (github.com/Khan/genqlient)</summary> ### [`v0.7.0`](https://togithub.com/Khan/genqlient/releases/tag/v0.7.0) [Compare Source](https://togithub.com/Khan/genqlient/compare/v0.6.0...v0.7.0) In addition to several new features and bugfixes, along with this release comes reorganized [documentation](https://togithub.com/Khan/genqlient/blob/main/docs) for genqlient. Note that genqlient now requires Go 1.20 or higher, and is tested through Go 1.22. #### What's Changed - Add "generic" option to the "optional" configuration for handling nullable types by [@&open-telemetry#8203;DylanRJohnston](https://togithub.com/DylanRJohnston) in [https://github.com/Khan/genqlient/pull/252](https://togithub.com/Khan/genqlient/pull/252) - Documentation tweaks relating to releases by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/271](https://togithub.com/Khan/genqlient/pull/271) - Add some better tests for use_struct_references by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/273](https://togithub.com/Khan/genqlient/pull/273) - Add an option to handle enums with ugly casing by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/270](https://togithub.com/Khan/genqlient/pull/270) - Add some more tests for config validation, and fix some gaps by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/274](https://togithub.com/Khan/genqlient/pull/274) - Add consideration for pointer false directive when optional: pointer configuration option is used by [@&open-telemetry#8203;spencermurray](https://togithub.com/spencermurray) in [https://github.com/Khan/genqlient/pull/280](https://togithub.com/Khan/genqlient/pull/280) - Update gqlparser and gqlgen dependencies by [@&open-telemetry#8203;StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/282](https://togithub.com/Khan/genqlient/pull/282) - Update gqlparser to omit comments by [@&open-telemetry#8203;StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/284](https://togithub.com/Khan/genqlient/pull/284) - bugfix: local variable 'data' colliding with argument name by [@&open-telemetry#8203;zholti](https://togithub.com/zholti) in [https://github.com/Khan/genqlient/pull/291](https://togithub.com/Khan/genqlient/pull/291) - Pin lint workflow's Go version by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/311](https://togithub.com/Khan/genqlient/pull/311) - Upgrade golangci-lint and which go we run it with by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/314](https://togithub.com/Khan/genqlient/pull/314) - fix implementation type generation for fragment on a union by [@&open-telemetry#8203;zzh8829](https://togithub.com/zzh8829) in [https://github.com/Khan/genqlient/pull/310](https://togithub.com/Khan/genqlient/pull/310) - Support more valid graphql file extensions by [@&open-telemetry#8203;zzh8829](https://togithub.com/zzh8829) in [https://github.com/Khan/genqlient/pull/309](https://togithub.com/Khan/genqlient/pull/309) - Add tests on Go 1.22, and upgrade x/tools to make them work by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/315](https://togithub.com/Khan/genqlient/pull/315) - Update gqlgen to latest by [@&open-telemetry#8203;StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/317](https://togithub.com/Khan/genqlient/pull/317) - move genqlient Go module to 1.20 by [@&open-telemetry#8203;StevenACoffman](https://togithub.com/StevenACoffman) in [https://github.com/Khan/genqlient/pull/318](https://togithub.com/Khan/genqlient/pull/318) - Improve package-sniffing and bind correctly to types in the same package by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/316](https://togithub.com/Khan/genqlient/pull/316) - Reorganize and improve documentation by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/322](https://togithub.com/Khan/genqlient/pull/322) - Fix non-deterministic generated code involving interfaces and fragments. by [@&open-telemetry#8203;csilvers](https://togithub.com/csilvers) in [https://github.com/Khan/genqlient/pull/323](https://togithub.com/Khan/genqlient/pull/323) - Release v0.7.0 by [@&open-telemetry#8203;benjaminjkraft](https://togithub.com/benjaminjkraft) in [https://github.com/Khan/genqlient/pull/324](https://togithub.com/Khan/genqlient/pull/324) #### New Contributors - [@&open-telemetry#8203;DylanRJohnston](https://togithub.com/DylanRJohnston) made their first contribution in [https://github.com/Khan/genqlient/pull/252](https://togithub.com/Khan/genqlient/pull/252) - [@&open-telemetry#8203;spencermurray](https://togithub.com/spencermurray) made their first contribution in [https://github.com/Khan/genqlient/pull/280](https://togithub.com/Khan/genqlient/pull/280) - [@&open-telemetry#8203;zholti](https://togithub.com/zholti) made their first contribution in [https://github.com/Khan/genqlient/pull/291](https://togithub.com/Khan/genqlient/pull/291) - [@&open-telemetry#8203;zzh8829](https://togithub.com/zzh8829) made their first contribution in [https://github.com/Khan/genqlient/pull/310](https://togithub.com/Khan/genqlient/pull/310) **Full Changelog**: Khan/genqlient@v0.6.0...v0.7.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Andrzej Stencel <[email protected]>
I have:
before the fix
after fix
https://github.com/Khan/genqlient/pull/310/files#diff-3eaa9f1b68120a67e7558f37dd5984e995a6df5d454656180befca84c2dbf53aR2164
I also took a look at #64 which is the real underlaying issue i wanted to fix but that seems to be extremely complicated and probably needs multiple weeks of work. the nested interface issues came up on a query with union spreading. this PR fixes the problem of spreading when the union is the same fragment, however if the spread contains different fragment we run into #64 .