summaryrefslogtreecommitdiff
path: root/test/files/neg/t8006.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-12-27 22:29:54 +0300
committerEugene Burmako <xeno.by@gmail.com>2013-12-28 21:05:13 +0300
commitd92effc8a995086c1e0c4482f6163ef17b289ede (patch)
treefee3ba6e309abe1b6c488d62721b3ce991c5bc2e /test/files/neg/t8006.scala
parentbbd03b26f1eeba5abf495f5e745c6623f0cc05b7 (diff)
downloadscala-d92effc8a995086c1e0c4482f6163ef17b289ede.tar.gz
scala-d92effc8a995086c1e0c4482f6163ef17b289ede.tar.bz2
scala-d92effc8a995086c1e0c4482f6163ef17b289ede.zip
SI-8006 prevents infinite applyDynamicNamed desugarings
Since mkInvoke, the applyDynamic/selectDynamic/etc desugarer, is disconnected from typedNamedApply, the applyDynamicNamed argument rewriter, the latter doesn’t know whether it needs to apply the rewriting because the application has just been desugared or it needs to hold on because it’s already performed a desugaring on this tree. This commit introduces the attachment that links these translation facilities, preventing infinite applyDynamicNamed desugarings.
Diffstat (limited to 'test/files/neg/t8006.scala')
-rw-r--r--test/files/neg/t8006.scala8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/files/neg/t8006.scala b/test/files/neg/t8006.scala
new file mode 100644
index 0000000000..b2f71c1587
--- /dev/null
+++ b/test/files/neg/t8006.scala
@@ -0,0 +1,8 @@
+object X {
+ val d = new D
+ d.meth(value1 = 10, value2 = 100) // two arguments here, but only one is allowed
+}
+import language.dynamics
+class D extends Dynamic {
+ def applyDynamicNamed(name: String)(value: (String, Any)) = name
+} \ No newline at end of file