language: Scala (scala-2.10.0)
date: 665 days 10 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import collection.generic.CanBuildFrom
import collection.immutable.TreeMap
 
object Main {
  class TraversableW[A](t: Traversable[A]) {
    def as[CC[X] <: Traversable[X]](implicit cbf: CanBuildFrom[Nothing, A, CC[A]]): CC[A] = t.map(identity)(collection.breakOut)
    def to[Result](implicit cbf: CanBuildFrom[Nothing, A, Result]): Result = t.map(identity)(collection.breakOut)
  }
 
  implicit def boo[CC](x: CC)(implicit ev: CC => Traversable[_]) = new TraversableW(x)
 
  def main(args: Array[String]): Unit = {
    println(List(1, 2, 3).as[Vector])
    println("foo".as[Vector])
  }
}