summaryrefslogtreecommitdiff
path: root/test/files/neg/t6355a.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-12-28 02:25:29 +0300
committerEugene Burmako <xeno.by@gmail.com>2013-12-28 02:25:29 +0300
commit431e19f9f1a5b62e361579bac6fd321c6c3018d2 (patch)
tree5e8ca4a9d08ec83b678cfe7abf97134fc1411781 /test/files/neg/t6355a.scala
parent9f0594c57716ed551918e15be6da843982e8ba12 (diff)
downloadscala-431e19f9f1a5b62e361579bac6fd321c6c3018d2.tar.gz
scala-431e19f9f1a5b62e361579bac6fd321c6c3018d2.tar.bz2
scala-431e19f9f1a5b62e361579bac6fd321c6c3018d2.zip
SI-6355 SI-7059 it is possible to overload applyDynamic
As our discussion at https://issues.scala-lang.org/browse/SI-6355 shows, it looks like it is possible to overload applyDynamic, even though a straightforward way is closed. This commit codifies the pattern proposed by @paulp and makes sure that it doesn’t break in the future.
Diffstat (limited to 'test/files/neg/t6355a.scala')
-rw-r--r--test/files/neg/t6355a.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/files/neg/t6355a.scala b/test/files/neg/t6355a.scala
new file mode 100644
index 0000000000..0500ed04c6
--- /dev/null
+++ b/test/files/neg/t6355a.scala
@@ -0,0 +1,19 @@
+package foo
+
+import scala.language.dynamics
+
+class DoesntExtendDynamic {
+ def applyDynamic(name: String)(s: String): Int = 1
+ def applyDynamic(name: String)(x: Int): Int = 2
+}
+
+class A extends Dynamic {
+ def applyDynamic(name: String)(s: String): Int = 1
+ def applyDynamic(name: String)(x: Int): Int = 2
+}
+
+class B extends Dynamic {
+ def applyDynamic[T1](name: String)(x: T1): Int = 1
+ def applyDynamic[T1, T2](name: String)(x: T1, y: T2): Int = 2
+ def applyDynamic[T1, T2](name: String)(x: String, y: T1, z: T2): Int = 3
+}