Fix checking for type parameter visibility when merged with a parameter #27444
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.
Fixes #25672
A type parameter merged with a parameter has both type and value meanings, and both the
Type
and theValue
masks contain some of the same meanings (Class
,Enum
,EnumMember
andAssignment
), so comparing a targetmeaning
(and not aflags
member) against just one of them almost always yieldstrue
. We really only want to limit the scope of the parameter meanings of the symbol to the function body, so we need to ensure that the meaning we're looking for is really just the value meanings we actually care about (in this case,FunctionScopedVariable
).