1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
class P {
def a[@specialized(Int) T](t: T): List[T] = List(t)
}
class FX extends P {
override def a[@specialized(Int) T](t: T): List[T] = Nil
}
class FX1 extends P {
override def a[@specialized(Double) T](t: T): List[T] = Nil
}
class FX2 extends P {
override def a[T](t: T): List[T] = Nil
}
object Test extends App {
val fx = new FX
val p = new P
println(fx.a(3))
println((fx: P).a(3))
println((fx: P).a(3.0))
// val d = new Derived[Int]
// println((d: Base[Int]).m(10))
}
|