summaryrefslogtreecommitdiff
path: root/test/files/neg
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-01-27 22:32:19 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-01-27 22:32:19 -0800
commit1f24a11d3c3d450f8d27dd34952b8912ed9ced12 (patch)
treeed74d5d6066e683e723a76ce8da9de76ea324a03 /test/files/neg
parentda6fc7aad705d96491e57dab1771be0cb7623206 (diff)
parent11329c34ad16e9fcdf2f2607f5a7bf39649e93a8 (diff)
downloadscala-1f24a11d3c3d450f8d27dd34952b8912ed9ced12.tar.gz
scala-1f24a11d3c3d450f8d27dd34952b8912ed9ced12.tar.bz2
scala-1f24a11d3c3d450f8d27dd34952b8912ed9ced12.zip
Merge pull request #1857 from retronym/ticket/6443-2.10.x
SI-6443 Widen dependent param types in uncurry
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/t6443c.check7
-rw-r--r--test/files/neg/t6443c.scala21
2 files changed, 28 insertions, 0 deletions
diff --git a/test/files/neg/t6443c.check b/test/files/neg/t6443c.check
new file mode 100644
index 0000000000..7cf8d23f4b
--- /dev/null
+++ b/test/files/neg/t6443c.check
@@ -0,0 +1,7 @@
+t6443c.scala:16: error: double definition:
+method foo:(d: B.D)(a: Any)(d2: d.type)Unit and
+method foo:(d: B.D)(a: Any, d2: d.type)Unit at line 11
+have same type after erasure: (d: B.D, a: Object, d2: B.D)Unit
+ def foo(d: D)(a: Any)(d2: d.type): Unit = ()
+ ^
+one error found
diff --git a/test/files/neg/t6443c.scala b/test/files/neg/t6443c.scala
new file mode 100644
index 0000000000..817224e043
--- /dev/null
+++ b/test/files/neg/t6443c.scala
@@ -0,0 +1,21 @@
+trait A {
+ type D >: Null <: C
+ def foo(d: D)(a: Any, d2: d.type): Unit
+ trait C {
+ def bar: Unit = foo(null)(null, null)
+ }
+}
+object B extends A {
+ class D extends C
+
+ def foo(d: D)(a: Any, d2: d.type): Unit = () // Bridge method required here!
+
+ // No bridge method should be added, but we'll be happy enough if
+ // the "same type after erasure" error kicks in before the duplicated
+ // bridge causes a problem.
+ def foo(d: D)(a: Any)(d2: d.type): Unit = ()
+}
+
+object Test extends App {
+ new B.D().bar
+}