diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2013-12-27 18:43:56 +0300 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2013-12-27 18:45:10 +0300 |
commit | bbd03b26f1eeba5abf495f5e745c6623f0cc05b7 (patch) | |
tree | d988476af3851a7e682f853c4058fe77e4fb4564 /test/files/run/t7777/Test_2.scala | |
parent | 9f0594c57716ed551918e15be6da843982e8ba12 (diff) | |
download | scala-bbd03b26f1eeba5abf495f5e745c6623f0cc05b7.tar.gz scala-bbd03b26f1eeba5abf495f5e745c6623f0cc05b7.tar.bz2 scala-bbd03b26f1eeba5abf495f5e745c6623f0cc05b7.zip |
SI-7777 applyDynamic macro fails for nested application
Interplay between the insertApply desugaring and the invokeDynamic desugarings
is already quite brittle, but the real fun begins when macros crash the party.
The proposed patch enriches the `isDesugaredApply` check performed in
`mkInvoke`, the invokeDynamic desugarer, and makes sure that everything
is safe and sound in the macroland.
Diffstat (limited to 'test/files/run/t7777/Test_2.scala')
-rw-r--r-- | test/files/run/t7777/Test_2.scala | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/test/files/run/t7777/Test_2.scala b/test/files/run/t7777/Test_2.scala new file mode 100644 index 0000000000..1fe8b63bab --- /dev/null +++ b/test/files/run/t7777/Test_2.scala @@ -0,0 +1,6 @@ +object Test extends App { + DynMacro.foo(1, 2) // prints "foo(1, 2)" + DynMacro.foo(3).bar(4, 5) // prints "bar(4, 5)", then "foo(3)" + DynMacro(6).bar(7) // prints "bar(7)", then "apply(6)" + DynMacro.foo(8)(9) // Fails! +}
\ No newline at end of file |