summaryrefslogtreecommitdiff
path: root/test/files/pos/bounds.scala
blob: 26bc84a1b91da120c148197fc7594d7c0d808c2d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
trait Map[A, +C] {
  def ++ [B1 >: C] (kvs: Iterable[Tuple2[A, B1]]): Map[A, B1] = this
  def ++ [B1 >: C] (kvs: Iterator[Tuple2[A, B1]]): Map[A, B1] = this
}

class ListMap[A, +B] extends Map[A, B] {}

object ListMap {
  def empty[X, Y] = new ListMap[X, Y]
  def apply[A1, B2](elems: Tuple2[A1, B2]*): Map[A1, B2] = empty[A1,B2].++(elems.iterator)
}