これは期待どおりに機能します。
object Planexecutor extends App {
import scalaz.concurrent.Future
import scala.concurrent.duration._
val f = Future.apply(longComputation)
val result = f.run
println(result)
}
これはしません:
object Planexecutor extends App {
import scalaz.concurrent.Future
import scala.concurrent.duration._
val f = Future.apply(longComputation).timed(1.second)
val result = f.run
println(result)
}
最初のケースでは、アプリケーションは正常に終了しますが、2 番目のケースでは終了しません。ただし、両方のバージョンで結果値が正しく出力されます。
これはバグですか、それとも私が理解していないことがありますか?