В классе Scala я могу удобно объявить возвращаемый тип метода как this.type
, чтобы гарантировать, что он вернет тот же объект, для которого он вызван:
class Foo {
def bar: this.type = this
}
Есть ли способ аналогичным образом указать, что метод, принимающий данный параметр AnyRef
, вернет именно эту ссылку? Следующий фрагмент не предоставляет эту гарантию, я мог бы вернуть любой экземпляр A
:
def processAndReturn[A <: AnyRef](obj: A): A = {
// work with obj
obj
}