diff options
author | Martin Odersky <odersky@gmail.com> | 2015-11-16 09:54:10 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-11-17 21:30:21 +0100 |
commit | 7c6870e4d5ac3a9206aed16633c5f0a92fc97b5d (patch) | |
tree | d1041bdd526ad8d8aaf89748d4f5a7f9626dbd7e /src/dotty/tools/dotc/core/TypeComparer.scala | |
parent | bd76fbaec088de73deeb443681071bd311624dc1 (diff) | |
download | dotty-7c6870e4d5ac3a9206aed16633c5f0a92fc97b5d.tar.gz dotty-7c6870e4d5ac3a9206aed16633c5f0a92fc97b5d.tar.bz2 dotty-7c6870e4d5ac3a9206aed16633c5f0a92fc97b5d.zip |
Compensate for getter transform in isSubType test
Getters transform `T` to `=> T`. This means that `=> T <: T`
might need to be true after getters. Observed in the wild
tree checking t938.scala after getters.
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeComparer.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/TypeComparer.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/TypeComparer.scala b/src/dotty/tools/dotc/core/TypeComparer.scala index 2045de3ce..66965f427 100644 --- a/src/dotty/tools/dotc/core/TypeComparer.scala +++ b/src/dotty/tools/dotc/core/TypeComparer.scala @@ -488,6 +488,9 @@ class TypeComparer(initctx: Context) extends DotClass with ConstraintHandling { case _ => tp2 isRef ObjectClass } compareJavaArray + case tp1: ExprType if ctx.phase.id >= ctx.gettersPhase.id => + // getters might have converted T to => T, need to compensate. + isSubType(tp1.widenExpr, tp2) case _ => false } |