aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/TypeComparer.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-07-22 16:03:14 +0200
committerMartin Odersky <odersky@gmail.com>2015-09-18 18:12:17 +0200
commit5ee7b9ed189d77fbf864c5558841f53750db2c30 (patch)
tree83693e4696eefaacceb85603dcde71c2b250e113 /src/dotty/tools/dotc/core/TypeComparer.scala
parentd1cd3d738213c08242cae66623edba8e0102574c (diff)
downloaddotty-5ee7b9ed189d77fbf864c5558841f53750db2c30.tar.gz
dotty-5ee7b9ed189d77fbf864c5558841f53750db2c30.tar.bz2
dotty-5ee7b9ed189d77fbf864c5558841f53750db2c30.zip
Avoid orphan RefinedThis types in glb/lub.
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeComparer.scala')
-rw-r--r--src/dotty/tools/dotc/core/TypeComparer.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/TypeComparer.scala b/src/dotty/tools/dotc/core/TypeComparer.scala
index c9b1e8794..fce803c56 100644
--- a/src/dotty/tools/dotc/core/TypeComparer.scala
+++ b/src/dotty/tools/dotc/core/TypeComparer.scala
@@ -929,7 +929,7 @@ class TypeComparer(initctx: Context) extends DotClass with ConstraintHandling {
tp1.derivedRefinedType(
tp1.parent & tp2.parent,
tp1.refinedName,
- tp1.refinedInfo & tp2.refinedInfo)
+ tp1.refinedInfo & tp2.refinedInfo.substRefinedThis(tp2, RefinedThis(tp1)))
case _ =>
NoType
}
@@ -995,7 +995,7 @@ class TypeComparer(initctx: Context) extends DotClass with ConstraintHandling {
tp1.derivedRefinedType(
tp1.parent | tp2.parent,
tp1.refinedName,
- tp1.refinedInfo | tp2.refinedInfo)
+ tp1.refinedInfo | tp2.refinedInfo.substRefinedThis(tp2, RefinedThis(tp1)))
case _ =>
NoType
}