Scala API中有很多地方,特别是在集合中,方法签名是错误的。
例如,Map的 scaladoc 签名。flatMap
说
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Map[B]
但实际签名是
flatMap[B, That](f: ((A, B)) ⇒ GenTraversableOnce[B])
(implicit bf: CanBuildFrom[Map[A, B], B, That]): That
这个特别没有意义,因为 scaladoc 签名包括Map[B]
, 但Map
有两个类型参数,而不是一个。
这里发生了什么?这是一个错误吗?