diff options
author | Martin Odersky <odersky@gmail.com> | 2012-09-10 18:07:20 +0200 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-09-20 09:41:33 -0700 |
commit | 96408154f46dce623d3b3c3fdc67f5ccc3779f8f (patch) | |
tree | cc02888f504bf1ebbd131d0297145b31684222f5 /test/files/run | |
parent | d834d90d88e1dab6a8621b13c9d4b64d3417a94e (diff) | |
download | scala-96408154f46dce623d3b3c3fdc67f5ccc3779f8f.tar.gz scala-96408154f46dce623d3b3c3fdc67f5ccc3779f8f.tar.bz2 scala-96408154f46dce623d3b3c3fdc67f5ccc3779f8f.zip |
Fixes SI-6260
Guards against bridge methods that clash with other methods. Two
tests: The neg test is the original ticket. The run test tweaks
things slightly so that the generated bridge method does not clash,
and tests that the necessary unboxings are indeed performed at
runtime.
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/t6260.check | 1 | ||||
-rw-r--r-- | test/files/run/t6260.scala | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/test/files/run/t6260.check b/test/files/run/t6260.check new file mode 100644 index 0000000000..54f98a10f0 --- /dev/null +++ b/test/files/run/t6260.check @@ -0,0 +1 @@ +Box(abcabc) diff --git a/test/files/run/t6260.scala b/test/files/run/t6260.scala new file mode 100644 index 0000000000..cfe9e1e640 --- /dev/null +++ b/test/files/run/t6260.scala @@ -0,0 +1,12 @@ +class Box[X <: CharSequence](val x: X) extends AnyVal { + def map[Y <: CharSequence](f: X => Y): Box[Y] = + ((bx: Box[X]) => new Box(f(bx.x)))(this) + override def toString = s"Box($x)" +} + +object Test { + def main(args: Array[String]) { + val g = (x: String) => x + x + println(new Box("abc") map g) + } +} |