aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/pos/virtpatmat_castbinder.scala
blob: ffe74eda71e93619d5850ea101bdc706a8226fb9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class IntMap[+V]
case class Bin[+T](m: IntMap[T]) extends IntMap[T]
case class Tip[+T](x: T) extends IntMap[T]

trait IntMapIterator[V, T] {
  def valueOf(tip: Tip[V]): T
  def pop: IntMap[V]

  def next: T =
    pop match {
      case Bin(t@Tip(_)) => {
        valueOf(t)
      }
    }
}