https://github.com/scala/scala/blob/b0e1ad01704fe7bace4b236c1cc48fcdbd04b081/src/library/scala/collection/Iterable.scala#L263-L265 It looks to me that it should say: "The method should be overridden if computing size is **not** cheap and knownSize returns -1."