summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
authorJosh Suereth <Joshua.Suereth@gmail.com>2012-11-20 17:41:41 -0800
committerJosh Suereth <Joshua.Suereth@gmail.com>2012-11-20 17:41:41 -0800
commit29293ab56e61cc8bdb97210a04554ed4829b0ff3 (patch)
tree8f56797a5425e5222361e9ad8c483d643fff6c0a /test/files/run
parent087aebe3ee1b93aafc654ea623cb0e289a8170a8 (diff)
parentc6569209dab006e74ccecc0ede6ce7815ac8629c (diff)
downloadscala-29293ab56e61cc8bdb97210a04554ed4829b0ff3.tar.gz
scala-29293ab56e61cc8bdb97210a04554ed4829b0ff3.tar.bz2
scala-29293ab56e61cc8bdb97210a04554ed4829b0ff3.zip
Merge pull request #1621 from jannic/SI-6663-2.10.x
Si 6663 2.10.x fix type parameter on selectDynamic
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/t6663.check1
-rw-r--r--test/files/run/t6663.scala17
2 files changed, 18 insertions, 0 deletions
diff --git a/test/files/run/t6663.check b/test/files/run/t6663.check
new file mode 100644
index 0000000000..d81cc0710e
--- /dev/null
+++ b/test/files/run/t6663.check
@@ -0,0 +1 @@
+42
diff --git a/test/files/run/t6663.scala b/test/files/run/t6663.scala
new file mode 100644
index 0000000000..6818d286d9
--- /dev/null
+++ b/test/files/run/t6663.scala
@@ -0,0 +1,17 @@
+import language.dynamics
+
+class C(v: Any) extends Dynamic {
+ def selectDynamic[T](n: String): Option[T] = Option(v.asInstanceOf[T])
+ def applyDynamic[T](n: String)(): Option[T] = Option(v.asInstanceOf[T])
+}
+
+object Test extends App {
+ // this should be converted to
+ // C(42).selectDynamic[Int]("foo").get
+ // but, before fixing SI-6663, became
+ // C(42).selectDynamic[Nothing]("foo").get
+ // leading to a ClassCastException
+ var v = new C(42).foo[Int].get
+ println(v)
+}
+