【发布时间】:2020-09-18 07:51:03
【问题描述】:
Scala 3 会给类型推断带来哪些变化? 当前文档仅声明 TODO。例如,
Weak conformance
Scala 2.13
scala> val i: Int = 42
val i: Int = 42
scala> val c: Char = 'a'
val c: Char = a
scala> List(i,c)
val res0: List[Int] = List(42, 97)
Scala 3 (dotty 0.24.0-RC1)
scala> val i: Int = 42
val i: Int = 42
scala> val c: Char = 'a'
val c: Char = a
scala> List(i,c)
val res0: List[AnyVal] = List(42, a)
平等
Scala 2.13
scala> 42 == Some(42)
^
warning: comparing values of types Int and Some[Int] using `==` will always yield false
val res2: Boolean = false
斯卡拉 3
scala> 42 == Some(42)
1 |42 == Some(42)
|^^^^^^^^^^^^^^
|Values of types Int and Some[Int] cannot be compared with == or !=
【问题讨论】:
-
AFAIK,总体改进和联合类型。
-
不确定这是否符合推理条件,但路径相关类型现在可以在同一个参数列表中引用,因此对 AUX 模式的需求较少。
-
@MarioGalic 您可以观看 Guillaume Martres 的演讲 youtube.com/watch?v=lMvOykNQ4zs youtube.com/watch?v=YIQjfCKDR5A Slides: guillaume.martres.me/talks/typelevel-summit-oslo guillaume.martres.me/talks
标签: scala type-inference dotty scala-3