diff options
author | amin <nada.amin@epfl.ch> | 2012-09-17 01:12:13 +0200 |
---|---|---|
committer | amin <nada.amin@epfl.ch> | 2012-09-17 01:38:33 +0200 |
commit | dbe7ef94dd5ea031b1d9e65a6843ff2ff5b28fe5 (patch) | |
tree | b09f683a2d11c7a7d1961b8bb83cc1446b47814e /test/files/run/t6353.scala | |
parent | 112009844bb184acfeaef0435e142a3cfd5a895b (diff) | |
download | scala-dbe7ef94dd5ea031b1d9e65a6843ff2ff5b28fe5.tar.gz scala-dbe7ef94dd5ea031b1d9e65a6843ff2ff5b28fe5.tar.bz2 scala-dbe7ef94dd5ea031b1d9e65a6843ff2ff5b28fe5.zip |
Fixed SI-6353: applyDynamic with sugared applications
- Accept sugared applications such as x(1) if x implements Dynamic,
so x(1) gets re-written to x.apply(1).
- When picking a dynamic rewrite for x.apply(1), favor applyDynamic
instead of the default selectDynamic.
Diffstat (limited to 'test/files/run/t6353.scala')
-rw-r--r-- | test/files/run/t6353.scala | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/files/run/t6353.scala b/test/files/run/t6353.scala new file mode 100644 index 0000000000..112241a3c4 --- /dev/null +++ b/test/files/run/t6353.scala @@ -0,0 +1,12 @@ +import language.dynamics + +object Test extends App { + val x = new X(3) + val y = x(9) + class X(i: Int) extends Dynamic { + def applyDynamic(name: String)(in: Int): Int = { + println(s"applyDynamic($name)($in)") + i + in + } + } +} |