diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/neg/applydynamic_sip.check | 52 | ||||
-rw-r--r-- | tests/neg/applydynamic_sip.flags (renamed from tests/untried/neg/applydynamic_sip.flags) | 0 | ||||
-rw-r--r-- | tests/neg/applydynamic_sip.scala | 36 | ||||
-rw-r--r-- | tests/neg/t6355b.check (renamed from tests/untried/neg/t6355b.check) | 4 | ||||
-rw-r--r-- | tests/neg/t6355b.scala (renamed from tests/untried/neg/t6355b.scala) | 4 | ||||
-rw-r--r-- | tests/neg/t6663.check (renamed from tests/untried/neg/t6663.check) | 0 | ||||
-rw-r--r-- | tests/neg/t6663.scala (renamed from tests/untried/neg/t6663.scala) | 2 | ||||
-rw-r--r-- | tests/neg/t6920.check (renamed from tests/untried/neg/t6920.check) | 2 | ||||
-rw-r--r-- | tests/neg/t6920.scala (renamed from tests/untried/neg/t6920.scala) | 2 | ||||
-rw-r--r-- | tests/neg/t8006.check (renamed from tests/untried/neg/t8006.check) | 2 | ||||
-rw-r--r-- | tests/neg/t8006.scala (renamed from tests/untried/neg/t8006.scala) | 2 | ||||
-rw-r--r-- | tests/run/applydynamic_sip.check (renamed from tests/pending/run/applydynamic_sip.check) | 0 | ||||
-rw-r--r-- | tests/run/applydynamic_sip.flags (renamed from tests/pending/run/applydynamic_sip.flags) | 0 | ||||
-rw-r--r-- | tests/run/applydynamic_sip.scala (renamed from tests/pending/run/applydynamic_sip.scala) | 1 | ||||
-rw-r--r-- | tests/run/dynamic-anyval.check (renamed from tests/pending/run/dynamic-anyval.check) | 0 | ||||
-rw-r--r-- | tests/run/dynamic-anyval.scala (renamed from tests/pending/run/dynamic-anyval.scala) | 0 | ||||
-rw-r--r-- | tests/run/dynamicDynamicTests.scala | 41 | ||||
-rw-r--r-- | tests/run/t4536.check (renamed from tests/pending/run/t4536.check) | 0 | ||||
-rw-r--r-- | tests/run/t4536.flags (renamed from tests/pending/run/t4536.flags) | 0 | ||||
-rw-r--r-- | tests/run/t4536.scala (renamed from tests/pending/run/t4536.scala) | 8 | ||||
-rw-r--r-- | tests/run/t5040.check (renamed from tests/pending/run/t5040.check) | 0 | ||||
-rw-r--r-- | tests/run/t5040.flags (renamed from tests/pending/run/t5040.flags) | 0 | ||||
-rw-r--r-- | tests/run/t5040.scala (renamed from tests/pending/run/t5040.scala) | 1 | ||||
-rw-r--r-- | tests/run/t5733.check (renamed from tests/pending/run/t5733.check) | 0 | ||||
-rw-r--r-- | tests/run/t5733.scala (renamed from tests/pending/run/t5733.scala) | 0 | ||||
-rw-r--r-- | tests/run/t6353.check (renamed from tests/pending/run/t6353.check) | 0 | ||||
-rw-r--r-- | tests/run/t6353.scala (renamed from tests/pending/run/t6353.scala) | 0 | ||||
-rw-r--r-- | tests/run/t6355.check (renamed from tests/pending/run/t6355.check) | 0 | ||||
-rw-r--r-- | tests/run/t6355.scala (renamed from tests/pending/run/t6355.scala) | 0 | ||||
-rw-r--r-- | tests/run/t6663.check (renamed from tests/pending/run/t6663.check) | 0 | ||||
-rw-r--r-- | tests/run/t6663.flags (renamed from tests/pending/run/t6663.flags) | 0 | ||||
-rw-r--r-- | tests/run/t6663.scala (renamed from tests/pending/run/t6663.scala) | 0 | ||||
-rw-r--r-- | tests/untried/neg/applydynamic_sip.check | 73 | ||||
-rw-r--r-- | tests/untried/neg/applydynamic_sip.scala | 33 |
34 files changed, 142 insertions, 121 deletions
diff --git a/tests/neg/applydynamic_sip.check b/tests/neg/applydynamic_sip.check new file mode 100644 index 000000000..1bd8304bf --- /dev/null +++ b/tests/neg/applydynamic_sip.check @@ -0,0 +1,52 @@ +tests/neg/applydynamic_sip.scala:8: error: value applyDynamic is not a member of Dynamic(Test.qual) +possible cause: maybe a wrong Dynamic method signature? + qual.sel(a, a2: _*) // error + ^ +tests/neg/applydynamic_sip.scala:9: error: applyDynamicNamed does not support passing a vararg parameter + qual.sel(arg = a, a2: _*) // error + ^ +tests/neg/applydynamic_sip.scala:10: error: applyDynamicNamed does not support passing a vararg parameter + qual.sel(arg, arg2 = "a2", a2: _*) // error + ^ +tests/neg/applydynamic_sip.scala:20: error: type mismatch: + found : String("sel") + required: Int + bad1.sel // error + ^ +tests/neg/applydynamic_sip.scala:21: error: type mismatch: + found : String("sel") + required: Int + bad1.sel(1) // error // error + ^ +tests/neg/applydynamic_sip.scala:21: error: method applyDynamic in class Bad1 does not take more parameters + bad1.sel(1) // error // error + ^ +tests/neg/applydynamic_sip.scala:22: error: type mismatch: + found : String("sel") + required: Int + bad1.sel(a = 1) // error // error + ^ +tests/neg/applydynamic_sip.scala:22: error: method applyDynamicNamed in class Bad1 does not take more parameters + bad1.sel(a = 1) // error // error + ^ +tests/neg/applydynamic_sip.scala:23: error: type mismatch: + found : String("sel") + required: Int + bad1.sel = 1 // error // error + ^ +tests/neg/applydynamic_sip.scala:23: error: method updateDynamic in class Bad1 does not take more parameters + bad1.sel = 1 // error // error + ^ +tests/neg/applydynamic_sip.scala:32: error: method selectDynamic in class Bad2 does not take parameters + bad2.sel // error + ^ +tests/neg/applydynamic_sip.scala:33: error: method applyDynamic in class Bad2 does not take parameters + bad2.sel(1) // error + ^ +tests/neg/applydynamic_sip.scala:34: error: method applyDynamicNamed in class Bad2 does not take parameters + bad2.sel(a = 1) // error + ^ +tests/neg/applydynamic_sip.scala:35: error: method updateDynamic in class Bad2 does not take parameters + bad2.sel = 1 // error + ^ +14 errors found diff --git a/tests/untried/neg/applydynamic_sip.flags b/tests/neg/applydynamic_sip.flags index 1141f9750..1141f9750 100644 --- a/tests/untried/neg/applydynamic_sip.flags +++ b/tests/neg/applydynamic_sip.flags diff --git a/tests/neg/applydynamic_sip.scala b/tests/neg/applydynamic_sip.scala new file mode 100644 index 000000000..7b131e7ff --- /dev/null +++ b/tests/neg/applydynamic_sip.scala @@ -0,0 +1,36 @@ +import scala.language.dynamics +object Test extends App { + val qual: Dynamic = ??? + val expr = "expr" + val a = "a" + val a2 = "a2" + + qual.sel(a, a2: _*) // error + qual.sel(arg = a, a2: _*) // error + qual.sel(arg, arg2 = "a2", a2: _*) // error + + class Bad1 extends Dynamic { + def selectDynamic(n: Int) = n + def applyDynamic(n: Int) = n + def applyDynamicNamed(n: Int) = n + def updateDynamic(n: Int) = n + + } + val bad1 = new Bad1 + bad1.sel // error + bad1.sel(1) // error // error + bad1.sel(a = 1) // error // error + bad1.sel = 1 // error // error + + class Bad2 extends Dynamic { + def selectDynamic = 1 + def applyDynamic = 1 + def applyDynamicNamed = 1 + def updateDynamic = 1 + } + val bad2 = new Bad2 + bad2.sel // error + bad2.sel(1) // error + bad2.sel(a = 1) // error + bad2.sel = 1 // error +} diff --git a/tests/untried/neg/t6355b.check b/tests/neg/t6355b.check index f827f07e5..fb73b9c42 100644 --- a/tests/untried/neg/t6355b.check +++ b/tests/neg/t6355b.check @@ -1,11 +1,11 @@ t6355b.scala:14: error: value applyDynamic is not a member of A error after rewriting to x.<applyDynamic: error>("bippy") possible cause: maybe a wrong Dynamic method signature? - println(x.bippy(42)) + println(x.bippy(42)) // error ^ t6355b.scala:15: error: value applyDynamic is not a member of A error after rewriting to x.<applyDynamic: error>("bippy") possible cause: maybe a wrong Dynamic method signature? - println(x.bippy("42")) + println(x.bippy("42")) // error ^ two errors found diff --git a/tests/untried/neg/t6355b.scala b/tests/neg/t6355b.scala index 5f3c97cb0..bba3c4fdc 100644 --- a/tests/untried/neg/t6355b.scala +++ b/tests/neg/t6355b.scala @@ -11,7 +11,7 @@ class B(method: String) { object Test { def main(args: Array[String]): Unit = { val x = new A - println(x.bippy(42)) - println(x.bippy("42")) + println(x.bippy(42)) // error + println(x.bippy("42")) // error } } diff --git a/tests/untried/neg/t6663.check b/tests/neg/t6663.check index aa4faa4a4..aa4faa4a4 100644 --- a/tests/untried/neg/t6663.check +++ b/tests/neg/t6663.check diff --git a/tests/untried/neg/t6663.scala b/tests/neg/t6663.scala index 4a358dfbc..aa4ab08ed 100644 --- a/tests/untried/neg/t6663.scala +++ b/tests/neg/t6663.scala @@ -13,7 +13,7 @@ object Test extends App { // 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 + var v = new C(42).foo[String].get :Int // error println(v) } diff --git a/tests/untried/neg/t6920.check b/tests/neg/t6920.check index ee4eafb83..8bfd16a5f 100644 --- a/tests/untried/neg/t6920.check +++ b/tests/neg/t6920.check @@ -1,6 +1,6 @@ t6920.scala:9: error: too many arguments for method applyDynamicNamed: (values: Seq[(String, Any)])String error after rewriting to CompilerError.this.test.applyDynamicNamed("crushTheCompiler")(scala.Tuple2("a", 1), scala.Tuple2("b", 2)) possible cause: maybe a wrong Dynamic method signature? - test.crushTheCompiler(a = 1, b = 2) + test.crushTheCompiler(a = 1, b = 2) // error ^ one error found diff --git a/tests/untried/neg/t6920.scala b/tests/neg/t6920.scala index 25dc7b3b6..9601ed8d2 100644 --- a/tests/untried/neg/t6920.scala +++ b/tests/neg/t6920.scala @@ -6,5 +6,5 @@ class DynTest extends Dynamic { class CompilerError { val test = new DynTest - test.crushTheCompiler(a = 1, b = 2) + test.crushTheCompiler(a = 1, b = 2) // error } diff --git a/tests/untried/neg/t8006.check b/tests/neg/t8006.check index fbac26e3a..98207ba30 100644 --- a/tests/untried/neg/t8006.check +++ b/tests/neg/t8006.check @@ -1,6 +1,6 @@ t8006.scala:3: error: too many arguments for method applyDynamicNamed: (value: (String, Any))String error after rewriting to X.this.d.applyDynamicNamed("meth")(scala.Tuple2("value1", 10), scala.Tuple2("value2", 100)) possible cause: maybe a wrong Dynamic method signature? - d.meth(value1 = 10, value2 = 100) // two arguments here, but only one is allowed + d.meth(value1 = 10, value2 = 100) // error: two arguments here, but only one is allowed ^ one error found diff --git a/tests/untried/neg/t8006.scala b/tests/neg/t8006.scala index 8dc60697d..34946a659 100644 --- a/tests/untried/neg/t8006.scala +++ b/tests/neg/t8006.scala @@ -1,6 +1,6 @@ object X { val d = new D - d.meth(value1 = 10, value2 = 100) // two arguments here, but only one is allowed + d.meth(value1 = 10, value2 = 100) // error: two arguments here, but only one is allowed } import language.dynamics class D extends Dynamic { diff --git a/tests/pending/run/applydynamic_sip.check b/tests/run/applydynamic_sip.check index 6d04dc452..6d04dc452 100644 --- a/tests/pending/run/applydynamic_sip.check +++ b/tests/run/applydynamic_sip.check diff --git a/tests/pending/run/applydynamic_sip.flags b/tests/run/applydynamic_sip.flags index ba6d37305..ba6d37305 100644 --- a/tests/pending/run/applydynamic_sip.flags +++ b/tests/run/applydynamic_sip.flags diff --git a/tests/pending/run/applydynamic_sip.scala b/tests/run/applydynamic_sip.scala index a163ab960..7f81a644a 100644 --- a/tests/pending/run/applydynamic_sip.scala +++ b/tests/run/applydynamic_sip.scala @@ -1,3 +1,4 @@ +import scala.language.dynamics object Test extends dotty.runtime.LegacyApp { object stubUpdate { def update(as: Any*) = println(".update"+as.toList.mkString("(",", ", ")")) diff --git a/tests/pending/run/dynamic-anyval.check b/tests/run/dynamic-anyval.check index dee7bef8e..dee7bef8e 100644 --- a/tests/pending/run/dynamic-anyval.check +++ b/tests/run/dynamic-anyval.check diff --git a/tests/pending/run/dynamic-anyval.scala b/tests/run/dynamic-anyval.scala index 605503d37..605503d37 100644 --- a/tests/pending/run/dynamic-anyval.scala +++ b/tests/run/dynamic-anyval.scala diff --git a/tests/run/dynamicDynamicTests.scala b/tests/run/dynamicDynamicTests.scala index 3f8da8298..05b878f1c 100644 --- a/tests/run/dynamicDynamicTests.scala +++ b/tests/run/dynamicDynamicTests.scala @@ -23,7 +23,16 @@ class Baz extends scala.Dynamic { def updateDynamic(name: String)(value: String): String = "updateDynamic(" + name + ")(" + value + ")" } +class Qux extends scala.Dynamic { + def selectDynamic[T](name: String): String = "selectDynamic(" + name + ")" + def applyDynamic[T](name: String)(args: String*): String = "applyDynamic(" + name + ")" + args.mkString("(", ", ", ")") + def applyDynamicNamed[T](name: String)(args: (String, Any)*): String = "applyDynamicNamed(" + name + ")" + args.mkString("(", ", ", ")") + def updateDynamic[T](name: String)(value: T): String = "updateDynamic(" + name + ")(" + value + ")" +} + object Test { + val qux = new Qux + implicit class StringUpdater(str: String) { def update(name: String, v: String) = s"$str.update(" + name + ", " + v + ")" } @@ -42,6 +51,7 @@ object Test { runFooTests2() runBarTests() runBazTests() + runQuxTests() assert(!failed) } @@ -161,4 +171,35 @@ object Test { assertEquals("selectDynamic(bazSelectUpdate).update(7, value)", baz.bazSelectUpdate(7) = "value") assertEquals("selectDynamic(bazSelectUpdate).update(7, 10)", baz.bazSelectUpdate(7) = 10) } + + /** Test correct lifting of type parameters */ + def runQuxTests() = { + implicit def intToString(n: Int): String = n.toString + + val qux = new Qux + + assertEquals("selectDynamic(quxSelect)", qux.quxSelect) + assertEquals("selectDynamic(quxSelect)", qux.quxSelect[Int]) + + assertEquals("applyDynamic(quxApply)()", qux.quxApply()) + assertEquals("applyDynamic(quxApply)()", qux.quxApply[Int]()) + assertEquals("applyDynamic(quxApply)(1)", qux.quxApply(1)) + assertEquals("applyDynamic(quxApply)(1)", qux.quxApply[Int](1)) + assertEquals("applyDynamic(quxApply)(1, 2, 3)", qux.quxApply(1, 2, 3)) + assertEquals("applyDynamic(quxApply)(1, 2, 3)", qux.quxApply[Int](1, 2, 3)) + assertEquals("applyDynamic(quxApply)(1, 2, a)", qux.quxApply(1, 2, "a")) + assertEquals("applyDynamic(quxApply)(1, 2, a)", qux.quxApply[Int](1, 2, "a")) + + assertEquals("applyDynamicNamed(quxApplyNamed)((a,1))", qux.quxApplyNamed(a = 1)) + assertEquals("applyDynamicNamed(quxApplyNamed)((a,1))", qux.quxApplyNamed[Int](a = 1)) + assertEquals("applyDynamicNamed(quxApplyNamed)((a,1), (b,2))", qux.quxApplyNamed(a = 1, b = "2")) + assertEquals("applyDynamicNamed(quxApplyNamed)((a,1), (b,2))", qux.quxApplyNamed[Int](a = 1, b = "2")) + assertEquals("applyDynamicNamed(quxApplyNamed)((a,1), (,abc))", qux.quxApplyNamed(a = 1, "abc")) + assertEquals("applyDynamicNamed(quxApplyNamed)((a,1), (,abc))", qux.quxApplyNamed[Int](a = 1, "abc")) + + assertEquals("updateDynamic(quxUpdate)(abc)", qux.quxUpdate = "abc") + + assertEquals("selectDynamic(quxSelectUpdate).update(key, value)", qux.quxSelectUpdate("key") = "value") + assertEquals("selectDynamic(quxSelectUpdate).update(key, value)", qux.quxSelectUpdate[Int]("key") = "value") + } } diff --git a/tests/pending/run/t4536.check b/tests/run/t4536.check index 0c5a72ada..0c5a72ada 100644 --- a/tests/pending/run/t4536.check +++ b/tests/run/t4536.check diff --git a/tests/pending/run/t4536.flags b/tests/run/t4536.flags index 1141f9750..1141f9750 100644 --- a/tests/pending/run/t4536.flags +++ b/tests/run/t4536.flags diff --git a/tests/pending/run/t4536.scala b/tests/run/t4536.scala index 6661eae6a..89a93a5e0 100644 --- a/tests/pending/run/t4536.scala +++ b/tests/run/t4536.scala @@ -1,8 +1,4 @@ - - - - - +import scala.language.dynamics object dynamicObject extends Dynamic { def applyDynamic(m: String)() = println("obj: " + m); @@ -38,7 +34,7 @@ object dynamicMixin extends dynamicAbstractClass with dynamicTrait { object Test { - def main(args: Array[String]) { + def main(args: Array[String]) = { val cls = new dynamicClass dynamicMixin } diff --git a/tests/pending/run/t5040.check b/tests/run/t5040.check index 3f7b5908a..3f7b5908a 100644 --- a/tests/pending/run/t5040.check +++ b/tests/run/t5040.check diff --git a/tests/pending/run/t5040.flags b/tests/run/t5040.flags index 1141f9750..1141f9750 100644 --- a/tests/pending/run/t5040.flags +++ b/tests/run/t5040.flags diff --git a/tests/pending/run/t5040.scala b/tests/run/t5040.scala index 6813c1b27..58d054412 100644 --- a/tests/pending/run/t5040.scala +++ b/tests/run/t5040.scala @@ -1,3 +1,4 @@ +import scala.language.dynamics // originaly used the flag -language:dynamics in t5040.flags, .flags are currently ignored abstract class Prova2 extends Dynamic { def applyDynamic(m: String)(): Unit private def privateMethod() = println("private method") diff --git a/tests/pending/run/t5733.check b/tests/run/t5733.check index e697046a9..e697046a9 100644 --- a/tests/pending/run/t5733.check +++ b/tests/run/t5733.check diff --git a/tests/pending/run/t5733.scala b/tests/run/t5733.scala index a9e58d77e..a9e58d77e 100644 --- a/tests/pending/run/t5733.scala +++ b/tests/run/t5733.scala diff --git a/tests/pending/run/t6353.check b/tests/run/t6353.check index 5676bed24..5676bed24 100644 --- a/tests/pending/run/t6353.check +++ b/tests/run/t6353.check diff --git a/tests/pending/run/t6353.scala b/tests/run/t6353.scala index 7077eaeda..7077eaeda 100644 --- a/tests/pending/run/t6353.scala +++ b/tests/run/t6353.scala diff --git a/tests/pending/run/t6355.check b/tests/run/t6355.check index ce74ab38a..ce74ab38a 100644 --- a/tests/pending/run/t6355.check +++ b/tests/run/t6355.check diff --git a/tests/pending/run/t6355.scala b/tests/run/t6355.scala index f1921391a..f1921391a 100644 --- a/tests/pending/run/t6355.scala +++ b/tests/run/t6355.scala diff --git a/tests/pending/run/t6663.check b/tests/run/t6663.check index d81cc0710..d81cc0710 100644 --- a/tests/pending/run/t6663.check +++ b/tests/run/t6663.check diff --git a/tests/pending/run/t6663.flags b/tests/run/t6663.flags index ea7fc37e1..ea7fc37e1 100644 --- a/tests/pending/run/t6663.flags +++ b/tests/run/t6663.flags diff --git a/tests/pending/run/t6663.scala b/tests/run/t6663.scala index bfe464ad6..bfe464ad6 100644 --- a/tests/pending/run/t6663.scala +++ b/tests/run/t6663.scala diff --git a/tests/untried/neg/applydynamic_sip.check b/tests/untried/neg/applydynamic_sip.check deleted file mode 100644 index 2cb2e7f09..000000000 --- a/tests/untried/neg/applydynamic_sip.check +++ /dev/null @@ -1,73 +0,0 @@ -applydynamic_sip.scala:7: error: applyDynamic does not support passing a vararg parameter - qual.sel(a, a2: _*) - ^ -applydynamic_sip.scala:8: error: applyDynamicNamed does not support passing a vararg parameter - qual.sel(arg = a, a2: _*) - ^ -applydynamic_sip.scala:8: error: not found: value arg - qual.sel(arg = a, a2: _*) - ^ -applydynamic_sip.scala:9: error: applyDynamicNamed does not support passing a vararg parameter - qual.sel(arg, arg2 = "a2", a2: _*) - ^ -applydynamic_sip.scala:9: error: not found: value arg - qual.sel(arg, arg2 = "a2", a2: _*) - ^ -applydynamic_sip.scala:9: error: not found: value arg2 - qual.sel(arg, arg2 = "a2", a2: _*) - ^ -applydynamic_sip.scala:18: error: type mismatch; - found : String("sel") - required: Int -error after rewriting to Test.this.bad1.selectDynamic("sel") -possible cause: maybe a wrong Dynamic method signature? - bad1.sel - ^ -applydynamic_sip.scala:19: error: type mismatch; - found : String("sel") - required: Int -error after rewriting to Test.this.bad1.applyDynamic("sel") -possible cause: maybe a wrong Dynamic method signature? - bad1.sel(1) - ^ -applydynamic_sip.scala:20: error: type mismatch; - found : String("sel") - required: Int -error after rewriting to Test.this.bad1.applyDynamicNamed("sel") -possible cause: maybe a wrong Dynamic method signature? - bad1.sel(a = 1) - ^ -applydynamic_sip.scala:20: error: reassignment to val - bad1.sel(a = 1) - ^ -applydynamic_sip.scala:21: error: type mismatch; - found : String("sel") - required: Int -error after rewriting to Test.this.bad1.updateDynamic("sel") -possible cause: maybe a wrong Dynamic method signature? - bad1.sel = 1 - ^ -applydynamic_sip.scala:29: error: Int does not take parameters -error after rewriting to Test.this.bad2.selectDynamic("sel") -possible cause: maybe a wrong Dynamic method signature? - bad2.sel - ^ -applydynamic_sip.scala:30: error: Int does not take parameters -error after rewriting to Test.this.bad2.applyDynamic("sel") -possible cause: maybe a wrong Dynamic method signature? - bad2.sel(1) - ^ -applydynamic_sip.scala:31: error: Int does not take parameters -error after rewriting to Test.this.bad2.applyDynamicNamed("sel") -possible cause: maybe a wrong Dynamic method signature? - bad2.sel(a = 1) - ^ -applydynamic_sip.scala:31: error: reassignment to val - bad2.sel(a = 1) - ^ -applydynamic_sip.scala:32: error: Int does not take parameters -error after rewriting to Test.this.bad2.updateDynamic("sel") -possible cause: maybe a wrong Dynamic method signature? - bad2.sel = 1 - ^ -16 errors found diff --git a/tests/untried/neg/applydynamic_sip.scala b/tests/untried/neg/applydynamic_sip.scala deleted file mode 100644 index ee4432ebe..000000000 --- a/tests/untried/neg/applydynamic_sip.scala +++ /dev/null @@ -1,33 +0,0 @@ -object Test extends App { - val qual: Dynamic = ??? - val expr = "expr" - val a = "a" - val a2 = "a2" - - qual.sel(a, a2: _*) - qual.sel(arg = a, a2: _*) - qual.sel(arg, arg2 = "a2", a2: _*) - - val bad1 = new Dynamic { - def selectDynamic(n: Int) = n - def applyDynamic(n: Int) = n - def applyDynamicNamed(n: Int) = n - def updateDynamic(n: Int) = n - - } - bad1.sel - bad1.sel(1) - bad1.sel(a = 1) - bad1.sel = 1 - - val bad2 = new Dynamic { - def selectDynamic = 1 - def applyDynamic = 1 - def applyDynamicNamed = 1 - def updateDynamic = 1 - } - bad2.sel - bad2.sel(1) - bad2.sel(a = 1) - bad2.sel = 1 -} |