summaryrefslogtreecommitdiff
path: root/test/pending/neg/t6680c.scala
blob: f69663a71b16af2be5b1aeba6921ebf0bdacf370 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package s

trait Stream[+A]
case class Unfold[S,+A](s: S, f: S => Option[(A,S)]) extends Stream[A]

object Stream {
  def fromList[A](a: List[A]): Stream[A] =
    Unfold(a, (l:List[A]) => l.headOption.map((_,l.tail)))
}

object Test {
  def main(args: Array[String]): Unit = {
    val res = Stream.fromList(List(1,2,3,4))

    res match { case Unfold(s, f) => f("a string!") }
  }
}