aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-04-02 00:35:31 +0200
committerGitHub <noreply@github.com>2017-04-02 00:35:31 +0200
commit710e700b2285738bc0700ed548517efc1f368bb0 (patch)
tree79f7fd243efeffdc4843311651734d709c115d79 /tests
parentaa2522c880d78d172b3af6cc4d336f2ebe447b18 (diff)
parentd73c8e42ca526ff2c53a17ddd1fa87044dd5bbca (diff)
downloaddotty-710e700b2285738bc0700ed548517efc1f368bb0.tar.gz
dotty-710e700b2285738bc0700ed548517efc1f368bb0.tar.bz2
dotty-710e700b2285738bc0700ed548517efc1f368bb0.zip
Merge branch 'master' into fix-hashcode
Diffstat (limited to 'tests')
-rw-r--r--tests/neg/i2151.scala6
-rw-r--r--tests/run/i2156.scala37
2 files changed, 43 insertions, 0 deletions
diff --git a/tests/neg/i2151.scala b/tests/neg/i2151.scala
new file mode 100644
index 000000000..1ae034c02
--- /dev/null
+++ b/tests/neg/i2151.scala
@@ -0,0 +1,6 @@
+trait Test {
+ type Nil = [K] => K
+ type StrangeCons[H, Tail <: [H, A] => H] = Tail[H, H]
+
+ def list: StrangeCons[Int, Nil] // error
+}
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
+ }
+}
+