Skip to content

Commit 8a0c3c4

Browse files
committed
Test that scala#2156 is fixed
1 parent e901310 commit 8a0c3c4

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

tests/run/i2156.scala

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
class Outer {
2+
3+
case class Inner()
4+
5+
val inner: Inner = new Inner
6+
7+
def checkInstance(o: Outer) =
8+
o.inner.isInstanceOf[this.Inner]
9+
10+
def checkPattern1(i: Any) =
11+
i match {
12+
case _: Inner => true
13+
case _ => false
14+
}
15+
16+
def checkPattern2(i: Any) =
17+
i match {
18+
case Inner() => true
19+
case _ => false
20+
}
21+
22+
def checkEquals(o: Outer) =
23+
o.inner == inner
24+
}
25+
26+
object Test {
27+
28+
def main(args: Array[String]) = {
29+
val o1 = new Outer
30+
val o2 = new Outer
31+
assert(o1.checkInstance(o2)) // ok
32+
assert(!o1.checkPattern1(o2.inner)) // ok under scalac, fails for dotc-compiled code
33+
assert(!o1.checkPattern2(o2.inner)) // ok under scalac, fails for dotc-compiled code
34+
assert(!o1.checkEquals(o2)) // ok under scalac, fails for dotc-compiled code
35+
}
36+
}
37+

0 commit comments

Comments
 (0)