summaryrefslogblamecommitdiff
path: root/test/files/pos/virtpatmat_castbinder.scala
blob: be269638ceb9e4c8f89c43ea8e96953c4b5b896b (plain) (tree)
1
2
3
4
5
6
7
8
9







                                                  
               





                             
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)
      }
    }
}