我理解显式类型自引用的用法:
trait T {
self : T2 =>
...
}
Run Code Online (Sandbox Code Playgroud)
在体内,self是别名,this但具有更精确的类型T with T2.
现在,我在代码中看到了这个:
trait T {
self =>
...
}
Run Code Online (Sandbox Code Playgroud)
也就是说,没有其他类型信息的显式自引用.在这种配置中,是否存在self不仅仅是别名的情况this?
是否有关于"outer =>"功能的文档?它看起来像一个带有推理类型的自我类型注释.但我觉得我错了.
如果是这种情况,是否只是表达访问权限的另一种方式super?
trait A extends (B => C) {
outer =>
def apply(x: B): C = outer(x)
}
Run Code Online (Sandbox Code Playgroud)