Option.fold w scala 2.10
W następnej sesji ze scala 2.10.0-M7:
scala> trait A
defined trait A
scala> class B extends A
defined class B
scala> class C extends A
defined class C
scala> Some(0).fold(new B){_=>new C}
<console>:11: error: type mismatch;
found : C
required: B
Some(0).fold(new B){_=>new C}
Spodziewałbym się, że kompilator znajdzie wspólny supertype (a mianowicie A) zamiast narzekać. Czy jest to ogólne ograniczenie wnioskowania typu, czy konsekwencja sposobu zdefiniowania Option.fold?
Dziękuję Ci.