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.
stringis non-nullable) while refactoring the canonical names likeexternrefto 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. Usingexternrefas an example:Idea is that we won't have to write
nonnull<stringref>etc., but can reuse TS's| nullnotation in the transition to reference types, eventually leading full circle to writingstring | nullagain, since once the respective naming collisions likestring != ref_stringcan 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.