Skip to content

Commit 16a622f

Browse files
committed
Fix bootstrapping
This corner case optimization is unsafe and no code depends on it.
1 parent 1bc354e commit 16a622f

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

compiler/src/dotty/tools/dotc/transform/patmat/Space.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,6 @@ trait SpaceLogic {
255255
Empty
256256
else if (canDecompose(tp2))
257257
tryDecompose2(tp2)
258-
else if (isSubType(tp2, tp1) &&covers(fun, tp2))
259-
minus(a, Prod(tp1, fun, signature(fun, tp1, ss.length).map(Typ(_, false))))
260258
else
261259
a
262260
case (Prod(tp1, fun1, ss1), Prod(tp2, fun2, ss2)) =>

tests/patmat/dotty-trees.scala

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
abstract class Tree[-T >: Null]
2+
3+
case class TypeTree[-T >: Null]() extends Tree[T]
4+
5+
abstract class DerivedTypeTree() extends TypeTree[Null]
6+
7+
def foo(tree: Tree[Null]): Unit =
8+
tree match
9+
case _: DerivedTypeTree =>
10+
case TypeTree() =>
11+
case _ =>

0 commit comments

Comments
 (0)