Я пытаюсь скомпилировать следующий код:
class MyClass {
def foo(): this.type = Helper.bar(this)
}
class ChildClass extends MyClass
object Helper {
def bar[A <: MyClass](cls: A): A = cls
}
Полученная ошибка компилятора:
type arguments [MyClass.this.type] do not conform to method bar's type parameter bounds [A <: MyClass]
Могу ли я что-нибудь сделать для этого свойства компиляции с помощью сигнатур методов, представленных выше? Кажется, что MyClass.this.type должен быть validClass, и я не хочу приводить дважды при вызове Helper (один раз при входе и один раз при выходе).