gpt4 book ai didi

Scalac 错误或我的误解?

转载 作者:行者123 更新时间:2023-12-01 04:39:55 28 4
gpt4 key购买 nike

我设置了 -Xfatal-warnings我的 SBT 构建中的编译器标志,果然这段代码不能编译:

package example

sealed trait Errors

object Errors {
case class BadFirstName(name: String) extends Errors
case class BadLastName(name: String) extends Errors
}

...

def handleError(errors: Errors): String = errors match {
case BadFirstName(name) => s"$name is bad"
}

我看到错误 [error] It would fail on the following input: BadLastName(_)
但是如果我给 BadFirstName 添加一个 guard 匹配它编译没有错误或警告:
def handleError(errors: Errors): String = errors match {
case BadFirstName(name) if name.startsWith("t") => s"$name is bad"
}
...
[info] Done compiling.

然后在运行时与可怕的 [error] scala.MatchError: BadLastName(...) 一起爆炸

这对我来说似乎是一个错误,但我想检查一下我是否遗漏了什么?

最佳答案

是的,这是一个bug,即SI-5365 .

关于Scalac 错误或我的误解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50764612/

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