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
Set the inlining phase in the Context used for checking macro trees (scala#20087)
Fixesscala#17009
The problem here was with the sub typing check for `line.split(" ").nn`,
which needed to confirm that:
```scala
(?2 : Array[String]) & Array[String] <: (?1 : Array[String]) & Array[String]
```
`TypeComparer` would eventually try to compare two skolem types:
```scala
(?2 : Array[String]) <: (?1 : Array[String])
```
The behavior of `TypeComparer` differs here when executed during the
typer phase, where it always returns false for two skolem types, without
checking the sub typing further. This makes sense for Typer, but not so
much for the macro checks, which for `transparent inline`s end up being
executed during Typer. I think the best solution here is to artificially
change the phase in the checkingContext, so the checks done for
transparent and non-transparent macros are the same.
0 commit comments