Существует различие в том, что this
всегда относится к объекту, определенному самым внутренним шаблоном.
Выражение this
может появиться в части оператора шаблона или составного типа. Он обозначает объект, определяемый самым внутренним шаблоном или составным типом, включающим ссылку. Если это составной тип, тип this
является этим составным типом. Если шаблон класса или объекта определения с простым именем C , тип это то же самое , как тип C . this
, (Ссылка Scala §6.5)
Итак, если вы называете свой тип foo
, вы все равно можете ссылаться на него как this
(если, конечно, вы не находитесь во внутреннем шаблоне, в этом случае this
будете ссылаться на определенный им объект - и если вы не дадите внутренний шаблон самостоятельно набирает то же имя), но, очевидно, не наоборот.