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