diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2017-04-02 00:35:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-02 00:35:31 +0200 |
commit | 710e700b2285738bc0700ed548517efc1f368bb0 (patch) | |
tree | 79f7fd243efeffdc4843311651734d709c115d79 /tests/run | |
parent | aa2522c880d78d172b3af6cc4d336f2ebe447b18 (diff) | |
parent | d73c8e42ca526ff2c53a17ddd1fa87044dd5bbca (diff) | |
download | dotty-710e700b2285738bc0700ed548517efc1f368bb0.tar.gz dotty-710e700b2285738bc0700ed548517efc1f368bb0.tar.bz2 dotty-710e700b2285738bc0700ed548517efc1f368bb0.zip |
Merge branch 'master' into fix-hashcode
Diffstat (limited to 'tests/run')
-rw-r--r-- | tests/run/i2156.scala | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/run/i2156.scala b/tests/run/i2156.scala new file mode 100644 index 000000000..12ce8fa88 --- /dev/null +++ b/tests/run/i2156.scala @@ -0,0 +1,37 @@ +class Outer { + + case class Inner() + + val inner: Inner = new Inner + + def checkInstance(o: Outer) = + o.inner.isInstanceOf[this.Inner] + + def checkPattern1(i: Any) = + i match { + case _: Inner => true + case _ => false + } + + def checkPattern2(i: Any) = + i match { + case Inner() => true + case _ => false + } + + def checkEquals(o: Outer) = + o.inner == inner +} + +object Test { + + def main(args: Array[String]) = { + val o1 = new Outer + val o2 = new Outer + assert(o1.checkInstance(o2)) // ok + assert(!o1.checkPattern1(o2.inner)) // ok under scalac, fails for dotc-compiled code + assert(!o1.checkPattern2(o2.inner)) // ok under scalac, fails for dotc-compiled code + assert(!o1.checkEquals(o2)) // ok under scalac, fails for dotc-compiled code + } +} + |