作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从 Play Framework 2.1 过渡到 2.2 (Scala) 我正在重构一些代码,发现一些代码行完全卡住了 SBT 构建,直到该进程因 java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
而被终止。 . Eclipse(尝试使用 Juno 和 Kepler,但我怀疑它与此有关)也卡住了,它甚至不再加载工作台。
所以,这是代码。我很想知道是什么让编译器卡住,而不仅仅是在这里给出错误。
def foo = Action { implicit request =>
someForm.bindFromRequest.fold(
formWithErrors => Ok,
form => Async { Future.successful(Ok) }
)
}
最佳答案
Scala 中有某些表达式,当您要求编译器评估它们时,它会实例化 TON 类型实例,试图找出两种类型之间的统一差异。最有可能的是,您返回的类型不是您所期望的。
我会明确注释结果类型:
def foo = Action { implicit request =>
someForm.bindFromRequest.fold[Result](
formWithErrors => Ok,
form => Async { Future.successful(Ok) }
)
}
关于scala - 为什么这些代码行会卡住 Scala/SBT 构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19832784/
我是一名优秀的程序员,十分优秀!