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.
This change unifies the so far available reference types by rebasing them on the non-nullable variants (matching the other types, e.g.
string
is non-nullable) while refactoring the canonical names likeexternref
to become aliases. Hence all base types are non-nullable now, with the reference types prefixed withref_
to avoid naming collisions (likestring != ref_string
) for the time being. The canonical names as per the spec remain as aliases of the nullable types. Usingexternref
as an example:Idea is that we won't have to write
nonnull<stringref>
etc., but can reuse TS's| null
notation in the transition to reference types, eventually leading full circle to writingstring | null
again, since once the respective naming collisions likestring != ref_string
can be resolved, we might simply drop theref_
prefix.Given that the previous type names remain as aliases and most of this is experimental anyway, this should otherwise be a non-functional change.