summaryrefslogblamecommitdiff
path: root/test/files/pos/tcpoly_infer_implicit_tuple_wrapper.scala
blob: 3073b298decd23ad0df58f44e29c2f457d2deca4 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

















                                                                                                                                          
import scala.collection.generic.GenericTraversableTemplate
import scala.collection.Iterable

class IterableOps[CC[+B] <: Iterable[B] with GenericTraversableTemplate[B, CC], A1, A2](tuple: (CC[A1], Iterable[A2])) {
  def unzip: (CC[A1], CC[A2]) = error("foo")
}

object Test {

  implicit def tupleOfIterableWrapper[CC[+B] <: Iterable[B] with GenericTraversableTemplate[B, CC], A1, A2](tuple: (CC[A1], Iterable[A2]))
      = new IterableOps[CC, A1, A2](tuple)

  val t = (List(1, 2, 3), List(6, 5, 4))

  tupleOfIterableWrapper(t) unzip

  t unzip
}