fixes #23628; Compiler crash for nested generic type instantiations with static[int] #24426
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.
Original PR is #23630 by @Nimaoth, could not personally commit the refactor to that PR so had to open this one branched off from it.
Symbols of generic parameters with
static
constraints can lose theirtyGenericParam
type in favor of thestatic
type. This trips up the compiler, which expects onlytyGenericParam
, when attempting to instantiate the parameters of atyGenericInvocation
to look it up in the cache. To fix this, also consider the uninstantiatedstatic
case.I don't know why only generic parameters are instantiated here and not any type before looking at the cache, will have to look into it after.
Edit: This breaks
tmatrix4
but the original doesn't