La valeur récursive xxx a besoin d'un type dans Scala

Je suis confus au sujet de pourquoi Scala est de se plaindre à propos de ce code. J'ai deux classes qui dépendent les uns des autres. Lorsque j'essaie de créer une nouvelle instance de A sans une déclaration de type, le code ne compile pas.

  class A( b:B ) {

  }

  class B( a:A ){

  }

  val y = new A ( new B( y ) ); //gives recursive value y needs type

  val z:A = new A ( new B( y ) ); //ok

Pourquoi le compilateur ne sait pas le type de y quand j'ai déclaré que new A
?

source d'informationauteur Jay | 2015-08-26