Dom*_* N. 6 types scala future covariance promise
在Scala中,Future被定义为协变,而Promise是不变的.据说Promise几乎可以逆变(https://issues.scala-lang.org/browse/SI-7467).为什么会这样?
如果承诺是协变的,你将能够做到:
val p: Promise[Any] = Promise[String]()
p.success(1)
Run Code Online (Sandbox Code Playgroud)
由此完成Promise[String]用Int这将是不安全的.
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |