summaryrefslogtreecommitdiff
path: root/test/files/pos/t3943
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-05-15 10:39:41 +0200
committerJason Zaugg <jzaugg@gmail.com>2013-05-15 10:39:41 +0200
commit0c7c521f89290380389f73d9f4441a314c9e02e9 (patch)
treee69b77a23fbfecc79b4fee7880436957b1374b23 /test/files/pos/t3943
parentb29a9924fec4c0558856ea70e94bb525f5cc7a0e (diff)
downloadscala-0c7c521f89290380389f73d9f4441a314c9e02e9.tar.gz
scala-0c7c521f89290380389f73d9f4441a314c9e02e9.tar.bz2
scala-0c7c521f89290380389f73d9f4441a314c9e02e9.zip
SI-3943 Test case for already-fixed Java interop bug
Confirmed that this was fixed in edee27f59.
Diffstat (limited to 'test/files/pos/t3943')
-rw-r--r--test/files/pos/t3943/Client_2.scala7
-rw-r--r--test/files/pos/t3943/Outer_1.java14
2 files changed, 21 insertions, 0 deletions
diff --git a/test/files/pos/t3943/Client_2.scala b/test/files/pos/t3943/Client_2.scala
new file mode 100644
index 0000000000..650ac9b7a9
--- /dev/null
+++ b/test/files/pos/t3943/Client_2.scala
@@ -0,0 +1,7 @@
+object Test {
+ val x: Child = new Child
+ x.getInner.foo("meh")
+// error: type mismatch;
+// found : java.lang.String("meh")
+// required: E
+}
diff --git a/test/files/pos/t3943/Outer_1.java b/test/files/pos/t3943/Outer_1.java
new file mode 100644
index 0000000000..1d38c5e76b
--- /dev/null
+++ b/test/files/pos/t3943/Outer_1.java
@@ -0,0 +1,14 @@
+class Outer<E> {
+ abstract class Inner {
+ abstract public void foo(E e);
+ }
+}
+
+class Child extends Outer<String> {
+ // the implicit prefix for Inner is Outer<E> instead of Outer<String>
+ public Inner getInner() {
+ return new Inner() {
+ public void foo(String e) { System.out.println("meh "+e); }
+ };
+ }
+}