summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorEugene Vigdorchik <eugene.vigdorchik@gmail.com>2013-04-10 14:34:08 +0400
committerEugene Vigdorchik <eugene.vigdorchik@gmail.com>2013-04-10 15:58:22 +0400
commit67c2d6df8141d77c7ac04aa6f97cbc6e53684473 (patch)
tree0606eb3d3331329e5f4b91e3a24fc458baf51298 /test/files/pos
parentfc65423d8d6a7548393d212e17c8563cf40bcfc0 (diff)
downloadscala-67c2d6df8141d77c7ac04aa6f97cbc6e53684473.tar.gz
scala-67c2d6df8141d77c7ac04aa6f97cbc6e53684473.tar.bz2
scala-67c2d6df8141d77c7ac04aa6f97cbc6e53684473.zip
SI-6286 IllegalArgumentException handling specialized method.
Specialize assigns SpecialOverride info to a specialized method even when there is a further specialization that should be forwarded to.
Diffstat (limited to 'test/files/pos')
-rwxr-xr-xtest/files/pos/spec-t6286.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/files/pos/spec-t6286.scala b/test/files/pos/spec-t6286.scala
new file mode 100755
index 0000000000..4d87998ec6
--- /dev/null
+++ b/test/files/pos/spec-t6286.scala
@@ -0,0 +1,10 @@
+trait Foo[@specialized(Int) A] {
+ def fun[@specialized(Int) B](init: B)(f: (B, A) => B): B
+}
+
+class Bar(values: Array[Int]) extends Foo[Int] {
+ def fun[@specialized(Int) C](init: C)(f: (C, Int) => C): C = {
+ val arr = values
+ f(init, arr(0))
+ }
+}