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
We have the following subtyping result:
```scala
Subtype trace:
==> Array#262[String#810] <:< Array#262[String#810]
==> Array#262[String#810] <:< Array#262[String#810] recur
<== Array#262[String#810] <:< Array#262[String#810] recur = false
<== Array#262[String#810] <:< Array#262[String#810] = false
```
In `TypeComparer.compareAppliedType2`, the method just returns false
because `typcon2.typeParams` is empty:
```
def compareAppliedType2(tp2: AppliedType, tycon2: Type, args2: List[Type]): Boolean = {
val tparams = tycon2.typeParams
if (tparams.isEmpty) return false
```
The reason why =typcon1.typeParams= is empty is because we are
running the subtyping check after erasure. The following code works
without any problem:
```scala
atPhase(typerPhase) { arrayOfString =:= arg.tpe }
```
0 commit comments