Следующий исходный файл Kotlin компилируется и отлично работает с использованием плагина Kotlin 1.3.11 в IntelliJ IDEA 2018.3.1.Тем не менее, он не может скомпилироваться в компиляторе командной строки Kotlin, выдавая следующее сообщение.Что-то не так с кодом или мне не хватает зависимости от пути к классу или что-то в этом роде?
C:\tmp>type Main.kt
import java.nio.file.Files
import java.nio.file.Paths
fun main() {
Files.lines(Paths.get("t.txt"))
.use { lines -> lines.forEach { println(it) } }
}
C:\tmp>kotlinc -version
info: kotlinc-jvm 1.3.11 (JRE 1.8.0_192-b12)
C:\tmp>kotlinc Main.kt
Main.kt:6:14: error: unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
@InlineOnly public inline fun <T : Closeable?, R> ???.use(block: (???) -> ???): ??? defined in kotlin.io
.use { lines -> lines.forEach { println(it) } }
^
Main.kt:6:20: error: cannot infer a type for this parameter. Please specify it explicitly.
.use { lines -> lines.forEach { println(it) } }
^
Main.kt:6:35: error: cannot choose among the following candidates without completing type inference:
@HidesMembers public inline fun <T> Iterable<???>.forEach(action: (???) -> Unit): Unit defined in kotlin.collections
@HidesMembers public inline fun <K, V> Map<out ???, ???>.forEach(action: (Map.Entry<???, ???>) -> Unit): Unit defined in kotlin.collections
.use { lines -> lines.forEach { println(it) } }
^
Main.kt:6:53: error: unresolved reference: it
.use { lines -> lines.forEach { println(it) } }
^
C:\tmp>