在使用Scala 2.10.0-M7的下一个会话中:
我希望编译器能够找到公共的超类型(即A),而不是报错。这是一般类型推断的限制,还是Option.fold定义方式的后果呢?
谢谢。
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}
我希望编译器能够找到公共的超类型(即A),而不是报错。这是一般类型推断的限制,还是Option.fold定义方式的后果呢?
谢谢。