Может кто-нибудь помочь мне понять следующее поведение?
Проще говоря: в чем разница между следующими двумя случаями, когда...
Я определяю простой класс c
+ trait t
scala> class c {val x=true; val y=this.x}
defined class c
scala> trait t {}
defined trait t
Я могу создать новый "c с t"
scala> new c with t
res32: c with t = [email protected]
Но я не могу создать экземпляр нового "[анонимного класса, подобного c], с t"
scala> new {val x=true; val y=this.x} with t
<console>:9: error: type mismatch;
found : type
required: ?{def x: ?}
<console>:9: error: value x is not a member of object $iw
new {val x=true; val y=this.x} with t
Какая разница между этими двумя случаями?
Спасибо!