У меня проблемы с пониманием того, как использовать манифесты.
Это моя проблема: Я создал новый параметризованный класс C и попытался переопределить такие равенства:
override def equals(that:Any)=that match{
case that:C[T] => true /*do smth else not relevant*/
case _ => false
}
Конечно, я получил «предупреждение: неизменяемый аргумент типа T в шаблоне типа C [T] не отмечен, так как он удаляется стиранием» . Я пробовал использовать манифесты, как я использовал во многих других функциях:
override def equals(that:Any)(implicit manifest:Manifest[T])=that match{
case that:C[T] => true
case _ => false
}
Но я получил сообщение «ошибка: метод равно ничего не отменяет».
Я не знаю, как это исправить. Может ли кто-нибудь мне помочь?