aboutsummaryrefslogblamecommitdiff
path: root/tests/pos/tangledCompanion.scala
blob: 5853f8675ec3a5ff9685e36828a1169d5812decb (plain) (tree)

























                                                        
object Test {

  import Coll._
  import LazyList.#::

  val xs = LazyList.Empty

}

object Coll {

  trait IterableFactory[+C[X]]

  class LazyList[+A](expr: => LazyList.Evaluated[A])

  object LazyList extends IterableFactory[LazyList] {

    type Evaluated[+A] = Option[(A, LazyList[A])]

    object Empty extends LazyList[Nothing](None)

    object #:: {
      def unapply[A](s: LazyList[A]): Evaluated[A] = ???
    }
  }
}