blob: a5858b2cf0d5c2f51bab17e545355ff5dca8af5f (
plain) (
tree)
|
|
trait Foo[T <: AnyVal] extends Any {
def foo(x: String): String
def foo(x: T): String
}
class Box1(val value: String) extends AnyVal with Foo[Box2] {
def foo(x: String) = "foo(String): ok"
def foo(x: Box2) = "foo(Box2): ok"
}
class Box2(val value: String) extends AnyVal
object test2a {
def main(args: Array[String]) {
val b1 = new Box1(null)
val b2 = new Box2(null)
val f: Foo[Box2] = b1
println(f.foo(""))
println(f.foo(b2))
}
}
|