yield在Maven项目的buildSequence中抛出KotlinNullPointerException

我正在调查Kotlin的coroutines ,从斐波那契序列开始,如下所示:

 import kotlin.coroutines.experimental.buildSequence fun main(args: Array<String>) { val fibo = buildSequence { yield(0) var a = 0 var b = 1 while (true) { yield(b) b = a + b a = b - a } } fibo.take(5).forEach { println(it) } } 

我使用的是IntelliJ IDEA,当上面的代码运行在由New Project – > Kotlin – > Kotlin(JVM)创建的New Project ,它工作正常。

当代码运行在Maven的一个项目中,从archetype org.jetbrains.kotlin:kotlin-archetype-jvm创建org.jetbrains.kotlin:kotlin-archetype-jvm kotlin-archetype-jvm:1.1.2-4它会抛出KotlinNullPointerException

异常在线程“主”kotlin.KotlinNullPointerException在kotlin.coroutines.experimental.SequenceBuilderIterator.yield(SequenceBuilder.kt:163)在com.github.fdudannychen.HelloKt $ main $ fibo $ 1.doResume(Hello.kt:7)在kotlin .corresponines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:54)at kotlin.coroutines.experimental.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:128)at kotlin.sequences.TakeSequence $ iterator $ 1.hasNext(Sequences。 kt:348)at com.github.fdudannychen.HelloKt.main(Hello.kt:22)

本文中的步骤无助于解决问题。 我不知道为什么它不工作。 我错过了什么吗?

这个问题在KT-18026中被报告,并被标记为Kotlin版本1.1.2-5