似乎使用类型别名会混淆Scala类型推断程序或编译器。确实试图编译

import scalaz.OptionT.optionT
type Foo[A] = Option[Option[A]]
val x: Foo[Int] = Some(Some(3))
optionT(x)

导致奇怪的错误
java.lang.IllegalArgumentException: transpose requires all collections have the same size

由于我在Scala方面的经验有限,因此我不确定是否应该为此举报错误,如果这是预期的行为。

最佳答案

刚刚测试过我自己认为IllegalArgumentException是编译器无法解决的问题,这将是一个错误。

08-28 16:21