blob: 04c66400c8cefd87577b012bbd18242e054bcc84 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
// tested using Scala compiler version 2.6.0-RC1 -- (c) 2002-2007 LAMP/EPFL
// prompted by "Covariant return types" mailing list question
object TestCovariance {
// see Type constructor polymorphism in http://www.scala-lang.org/docu/changelog.html
trait Seq[+t] {
type MyType[+t] <: Seq[t]
def f: MyType[t]
}
def span[a, s <: Seq[a] { type MyType <: s } ](xs: s): s = xs f
}
|