diff options
Diffstat (limited to 'tests/neg/t6663.scala')
-rw-r--r-- | tests/neg/t6663.scala | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/neg/t6663.scala b/tests/neg/t6663.scala new file mode 100644 index 000000000..aa4ab08ed --- /dev/null +++ b/tests/neg/t6663.scala @@ -0,0 +1,19 @@ +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[String]("foo").get + // causing a compile error. + + // but, before fixing SI-6663, became + // C(42).selectDynamic("foo").get, ignoring + // the [String] type parameter + var v = new C(42).foo[String].get :Int // error + println(v) +} + |