Я понимаю использование явно введенных саморекламы:
trait T {
self : T2 =>
...
}
В теле self является псевдонимом для this, но имеет более точный тип T with T2.
Теперь я видел это в коде:
trait T {
self =>
...
}
То есть явная самооценка без дополнительной информации о типе. В этой конфигурации есть ли ситуация, в которой self не является просто псевдонимом для this?