diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2010-10-13 16:48:29 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2010-10-13 16:48:29 +0000 |
commit | 0e7b7a50c6dab3097608bf477d89e13c4332a602 (patch) | |
tree | 6ccf6692ea7ee1bc672e4d6608fca8d0a105580c /test/files | |
parent | 68516d31fe114952bd12361d784dc1711364cc52 (diff) | |
download | scala-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')
-rw-r--r-- | test/files/pos/t3866.scala | 17 |
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 |