List.fromIterator ожидает scala.Iterator, но ваш неявный возвращает java.util.Iterator.
Это работает
import java.util.Enumeration
implicit def enum2Iterator[A](e : Enumeration[A]) = new Iterator[A] {
def next = e.nextElement
def hasNext = e.hasMoreElements
}
import java.util.zip.{ZipFile, ZipEntry}
val l = List.fromIterator(new ZipFile(null:java.io.File).entries)
Добавление одного импорта сверху предотвращает компиляцию
import java.util.Iterator
Было обсуждено объединение Scala и Java в 2.8 с помощью java.util.Iterator. С другой стороны, в итераторе Java есть метод remove, который не имеет смысла для неизменных коллекций Scala. UnsupportedOperationException? Blech! С другой стороны, такие вещи, как эта ошибка, исчезают.
Редактировать: я добавил проблему Trac, что сообщение об ошибке было бы более ясным, если бы он сказал "required: scala.Iterator [?]" https://lampsvn.epfl.ch/trac/scala/ticket/2102