File: t3866.scala

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (17 lines) | stat: -rw-r--r-- 764 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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))
}