| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
The requireSameOutputTypeShape() null check in OperationValidator was incorrectly simplified in commit 072165b. When a FieldAndType set contains both null-typed entries (from unresolvable parent types) and non-null entries (from interface inline fragments), the refactored code reports a spurious FieldsConflict error instead of skipping the comparison. This breaks the benchmarkDeepAbstractConcrete JMH benchmark. https://claude.ai/code/session_01XYg9Dqneb941aStgKaZ1Em
Test Results0 files - 335 0 suites - 335 0s ⏱️ - 5m 5s Results for commit e27544a. ± Comparison against base commit 32c996c. ♻️ This comment has been updated with latest results. |
Sorry, something went wrong.
Restore the original null-handling logic that was incorrectly simplified in 072165b. When both typeA and typeB are null (e.g., from fragments on unresolvable types), they should be treated as compatible rather than producing a spurious FieldsConflict error. https://claude.ai/code/session_01XYg9Dqneb941aStgKaZ1Em
|
Superseded by #4291 which fixes the failing test. The original test used mixed null/non-null field types which is a legitimate conflict. The new PR corrects the test to use a both-null scenario that properly exercises the regression. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Root cause
In OperationValidator.requireSameOutputTypeShape(), the null check was incorrectly simplified from:
to:
The old code treated two null types as compatible (skip comparison). The new code unconditionally reported a conflict when typeB is null, even when typeA is also null or when null simply means the parent type was unresolvable.
Fix
Restored the original null-handling logic: when both types are null, they are treated as compatible and we continue to the next field. Only when one is null and the other isn't do we report a conflict.
Test plan
https://claude.ai/code/session_01XYg9Dqneb941aStgKaZ1Em