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]) } } |
aW1wb3J0IGNvbGxlY3Rpb24uZ2VuZXJpYy5DYW5CdWlsZEZyb20KaW1wb3J0IGNvbGxlY3Rpb24uaW1tdXRhYmxlLlRyZWVNYXAKCm9iamVjdCBNYWluIHsKICBjbGFzcyBUcmF2ZXJzYWJsZVdbQV0odDogVHJhdmVyc2FibGVbQV0pIHsKICAgIGRlZiBhc1tDQ1tYXSA8OiBUcmF2ZXJzYWJsZVtYXV0oaW1wbGljaXQgY2JmOiBDYW5CdWlsZEZyb21bTm90aGluZywgQSwgQ0NbQV1dKTogQ0NbQV0gPSB0Lm1hcChpZGVudGl0eSkoY29sbGVjdGlvbi5icmVha091dCkKICAgIGRlZiB0b1tSZXN1bHRdKGltcGxpY2l0IGNiZjogQ2FuQnVpbGRGcm9tW05vdGhpbmcsIEEsIFJlc3VsdF0pOiBSZXN1bHQgPSB0Lm1hcChpZGVudGl0eSkoY29sbGVjdGlvbi5icmVha091dCkKICB9CgogIGltcGxpY2l0IGRlZiBib29bQ0NdKHg6IENDKShpbXBsaWNpdCBldjogQ0MgPT4gVHJhdmVyc2FibGVbX10pID0gbmV3IFRyYXZlcnNhYmxlVyh4KQoKICBkZWYgbWFpbihhcmdzOiBBcnJheVtTdHJpbmddKTogVW5pdCA9IHsKICAgIHByaW50bG4oTGlzdCgxLCAyLCAzKS5hc1tWZWN0b3JdKQogICAgcHJpbnRsbigiZm9vIi5hc1tWZWN0b3JdKQogIH0KfQ==
-
upload with new input
-
result: Success time: 0.19s memory: 212480 kB returned value: 0
Vector(1, 2, 3) Vector(f, o, o)


