Found here odd type annotation:
trait Filter extends EssentialFilter {
self =>
What does it mean?
It just creates an alias for this
. Consider this as a possible use case:
trait Foo { self =>
def name: String
case class Bar(val name) {
def showNames = println(
s"My name: ${this.name}, foo's name: ${self.name}"
)
}
}