You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are various places in the compiler and assorted tools where we assume
that an EvidenceParamName is the name of a context bound, but in practice we
also used the same NameKind in other cases such as for inferred contextual
functions. This commit cleans things up by replacing EvidenceParamName by:
- ContextBoundParamName
- ContextFunctionParamName
- CanThrowEvidenceParamName
- and the existing WildcardParamName
Note that Scala 2 also uses "evidence$" prefixes to represent context bounds,
this is why some pretty-printing code that aims to resugar context bounds
coming from both Scala 2 and 3 does a syntactic check for
`ContextBoundParamName.separator` instead of a semantic check on the NameKind
itself, this could perhaps be handled in a nicer way using unmangle in the
Scala2Unpickler.
0 commit comments