Add support for @semanticNonNull#4401
Draft
martinbonnin wants to merge 3 commits into
Draft
Conversation
Contributor
Test ReportTest Results
Code Coverage (Java 25)
Changed Class Coverage (4 classes)
NonNullableFieldValidator — method details
|
bbakerman
reviewed
Jun 4, 2026
bbakerman
reviewed
Jun 4, 2026
bbakerman
reviewed
Jun 4, 2026
bbakerman
reviewed
Jun 4, 2026
| def schema1 = schema(""" | ||
| type Query { | ||
| foo(arg: Int): String | ||
| foo(arg: Float): String |
Contributor
Author
There was a problem hiding this comment.
Ah yes, sorry should have left a comment there. This is because the @semanticNonNull directive definition now puts the Int type by defaults in all schemas. So it's either we change to float, or we check operations.size() == 3 just below.
Since this class is about testing schema diffs, I thought keeping the diff as large as possible was the best way forward.
bbakerman
reviewed
Jun 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@semanticNonNullis the counterpart ofonError.onErroris aimed to be merged in the spec and allow new services to use true nullability (!) without conflating nulls and errors.@semanticNonNullis for the transition. It allows existing services that cannot change fields to non-nullable (!) because that would increase the blast radius of errors for older clients to still signal semantic nullability to newer clients.See the
@semanticNonNullGAP for more details.