diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-03-12 09:49:01 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-03-12 09:49:01 -0700 |
commit | 3e6c87ef26148fec25a054c27d8f55f191c69113 (patch) | |
tree | 451d41fcf8ba1646be21d42aea5832c15dd8cd4b /test/files | |
parent | 0fbd4422b2030bd7ec6299d99cac2eaf9a4a0ea9 (diff) | |
parent | 88006140b13559a5673a6cbb5d6c9f892d11a1ae (diff) | |
download | scala-3e6c87ef26148fec25a054c27d8f55f191c69113.tar.gz scala-3e6c87ef26148fec25a054c27d8f55f191c69113.tar.bz2 scala-3e6c87ef26148fec25a054c27d8f55f191c69113.zip |
Merge pull request #3615 from retronym/ticket/8376
SI-8376 Fix overload resolution with Java varargs
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/t8376.check | 7 | ||||
-rw-r--r-- | test/files/neg/t8376/J.java | 4 | ||||
-rw-r--r-- | test/files/neg/t8376/S.scala | 4 | ||||
-rw-r--r-- | test/files/pos/t8376/BindingsX.java | 13 | ||||
-rw-r--r-- | test/files/pos/t8376/Test.scala | 10 |
5 files changed, 38 insertions, 0 deletions
diff --git a/test/files/neg/t8376.check b/test/files/neg/t8376.check new file mode 100644 index 0000000000..22ed942d51 --- /dev/null +++ b/test/files/neg/t8376.check @@ -0,0 +1,7 @@ +S.scala:2: error: overloaded method value m with alternatives: + (a: J*)Unit <and> + (a: String*)Unit + cannot be applied to (Int) + J.m(0) + ^ +one error found diff --git a/test/files/neg/t8376/J.java b/test/files/neg/t8376/J.java new file mode 100644 index 0000000000..29aa23da84 --- /dev/null +++ b/test/files/neg/t8376/J.java @@ -0,0 +1,4 @@ +class J { + public static void m(String... a) { } + public static void m(J... a) { } +} diff --git a/test/files/neg/t8376/S.scala b/test/files/neg/t8376/S.scala new file mode 100644 index 0000000000..a19f0d3c06 --- /dev/null +++ b/test/files/neg/t8376/S.scala @@ -0,0 +1,4 @@ +object S { + J.m(0) + // the error message should show `T*` in the method signatures rather than `<repeated>[T]` +} diff --git a/test/files/pos/t8376/BindingsX.java b/test/files/pos/t8376/BindingsX.java new file mode 100644 index 0000000000..165fdaf5f6 --- /dev/null +++ b/test/files/pos/t8376/BindingsX.java @@ -0,0 +1,13 @@ +/** + * A simple Java class implementing methods similar to new JavaFX `Bindings`. + */ +public final class BindingsX { + + public static void select(String root, String... steps) { + throw new UnsupportedOperationException("Not implemented"); + } + + public static void select(Object root, String... steps) { + throw new UnsupportedOperationException("Not implemented"); + } +} diff --git a/test/files/pos/t8376/Test.scala b/test/files/pos/t8376/Test.scala new file mode 100644 index 0000000000..ba078a3532 --- /dev/null +++ b/test/files/pos/t8376/Test.scala @@ -0,0 +1,10 @@ +class Test { + BindingsX.select("", "") // okay in 2.10, fails in 2.11 + + BindingsY.select1("", "") // okay in both +} + +object BindingsY { + def select1(root: String, steps: String*) = () + def select1(root: Any, steps: String*) = () +} |