blob: 02d924fe85cf122d6e13848b9c5d1bab74e8550f (
plain) (
tree)
|
|
// original code by reporter
class A[T]
class Test1 {
def x(backing: Map[A[_], Any]) =
for( (k: A[kt], v) <- backing)
yield (k: A[kt])
}
// this tests same thing as above, but independent of library classes,
// earlier expansions eliminated as well as variance (everything's invariant)
case class Holder[A](a: A)
class Mapped[A] { def map[T](f: Holder[A] => T): Iterable[T] = ??? }
class Test2 {
def works(backing: Mapped[A[_]]): Iterable[A[_]]
= backing.map(x =>
x match {case Holder(k: A[kt]) => (k: A[kt])}
)
}
|