summaryrefslogtreecommitdiff
path: root/test/files/pos/t3866.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2010-10-13 16:48:29 +0000
committerAdriaan Moors <adriaan.moors@epfl.ch>2010-10-13 16:48:29 +0000
commit0e7b7a50c6dab3097608bf477d89e13c4332a602 (patch)
tree6ccf6692ea7ee1bc672e4d6608fca8d0a105580c /test/files/pos/t3866.scala
parent68516d31fe114952bd12361d784dc1711364cc52 (diff)
downloadscala-0e7b7a50c6dab3097608bf477d89e13c4332a602.tar.gz
scala-0e7b7a50c6dab3097608bf477d89e13c4332a602.tar.bz2
scala-0e7b7a50c6dab3097608bf477d89e13c4332a602.zip
closes #3281, #3866.
I don't understand why we had to clear() the undoLog in the first place, since the undoXXX methods increase and decrease its size symmetrically, so the log should always be empty once they have all unwound. Was it a (premature) optimisation or was there some kind of semantic meaning to it that I didn't see? review by odersky
Diffstat (limited to 'test/files/pos/t3866.scala')
-rw-r--r--test/files/pos/t3866.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/files/pos/t3866.scala b/test/files/pos/t3866.scala
new file mode 100644
index 0000000000..5d366ccf13
--- /dev/null
+++ b/test/files/pos/t3866.scala
@@ -0,0 +1,17 @@
+abstract class ImplicitRepeated {
+ trait T[+A, +B]
+ trait X
+
+ def f[N, R <: List[_]](elems: T[N, R]*) // alternative a)
+ def f[N, R <: List[_]](props: String, elems: T[N, R]*) // alternative b)
+
+ // the following implicit causes "cannot be applied" errors
+ implicit def xToRight(r: X): T[Nothing, X] = null
+ implicit def anyToN[N](x: N): T[N, Nothing] = null
+
+
+ f("A", 1, 2) // should be implicitly resolved to alternative b)
+ f( 1, 2 ) // should be implicitly resolved to alternative a)
+ // ImplicitRepeated.this.f[Int, Nothing]("A", ImplicitRepeated.this.anyToN[Int](1), ImplicitRepeated.this.anyToN[Int](2));
+ // ImplicitRepeated.this.f[Int, Nothing](ImplicitRepeated.this.anyToN[Int](1), ImplicitRepeated.this.anyToN[Int](2))
+} \ No newline at end of file