Czy ktoś może mi powiedzieć jak mogę uniknąć ostrzeżenia w bloku kodu poniżej:abstrakcyjny typ wzoru jest zaznaczone, ponieważ jest on wyeliminowany przez skasowaniem
abstract class Foo[T <: Bar]{
case class CaseClass[T <: Bar](t: T)
def method1 = {
case CaseClass(t: T) => println(t)
csse _ =>
}
}
Powoduje to ostrzeżenie kompilatora:
abstract type pattern T is unchecked since it is eliminated by erasure
case CaseClass(t: T) => println(t)
^
co robi 'T <: Bar' znaczy na linii 1? –
To po prostu oznacza, że typ argumentu t jest ograniczony powyżej T. Lub innymi słowy T jest podtypem samego paska lub paska. –