blob: 2d265da6b90dcbb662f8cd1d8ae96ac410cca324 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
|
trait Iterable[A <: Bound[A], Bound[_]] {
type MyType[x <: Bound[x]] <: Iterable[x, Bound]
def map[B <: Bound[B]](f: A => B): MyType[B]
def flatMap[B <: Bound[B]](f: A => MyType[B]): MyType[B]
def filter(p: A => Boolean): MyType[A]
}
trait OrderedSet[T <: Ordered[T]] extends Iterable[T, Ordered] {
type MyType[x <: Ordered[x]] = OrderedSet[x]
}
|