aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/TypeAssigner.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/typer/TypeAssigner.scala')
-rw-r--r--src/dotty/tools/dotc/typer/TypeAssigner.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/typer/TypeAssigner.scala b/src/dotty/tools/dotc/typer/TypeAssigner.scala
index 84198b954..4370c36d2 100644
--- a/src/dotty/tools/dotc/typer/TypeAssigner.scala
+++ b/src/dotty/tools/dotc/typer/TypeAssigner.scala
@@ -87,6 +87,10 @@ trait TypeAssigner {
parent1
}
else tp1
+ case tp: TypeVar if ctx.typerState.constraint.contains(tp) =>
+ val lo = ctx.typerState.constraint.fullLowerBound(tp.origin)
+ val lo1 = avoid(lo, syms)
+ if (lo1 ne lo) lo1 else tp
case _ =>
mapOver(tp)
}