gpt4 book ai didi

scala - 抽象类型的部分函数没有类型删除警告

转载 作者:行者123 更新时间:2023-12-01 13:41:51 25 4
gpt4 key购买 nike

以下定义不会在 Scala 2.10.4 上触发任何警告:

class NoWarning[T] {
def f: PartialFunction[Any, T] = { case x: List[T] => x.head }
}

然而,这个在 Scala 2.10.4 上确实(如预期的那样),但是 不是 在 2.11.1 上:
class WithWarning {
def f[T]: PartialFunction[Any, T] = { case x: List[T] => x.head }
}
  • 为什么第一个定义根本不会触发警告?
  • 为什么第二个定义不会在 Scala 2.11.1 上触发警告?
  • 最佳答案

    Odersky explains模式匹配的差异取决于类型参数是在方法上还是在类上。

    我认为这是因为子类化。

    关于scala - 抽象类型的部分函数没有类型删除警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540737/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com