aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/t3866.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pos/t3866.scala')
-rw-r--r--tests/pos/t3866.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/pos/t3866.scala b/tests/pos/t3866.scala
new file mode 100644
index 000000000..f1f64edb9
--- /dev/null
+++ b/tests/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]*): Unit // alternative a)
+ def f[N, R <: List[_]](props: String, elems: T[N, R]*): Unit // 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))
+}