【发布时间】:2010-05-17 02:10:19
【问题描述】:
我想知道人们如何在 SML/NJ 编译器中处理非详尽的匹配警告。例如,我可以定义一个数据类型
datatype DT = FOO of int | BAR of string
然后有一个我知道只需要 FOO 的函数
fun baz (FOO n) = n + 1
编译器会给出警告
stdIn:1.5-1.24 警告:匹配不完整
FOO n => ...
val baz = fn : DT -> int
我不想看到我故意进行的不完整匹配的警告,因为我必须扫描输出以找到实际上可能是错误的警告。我可以这样写函数
fun baz (FOO n) = n + 1
| baz _ = raise Fail "baz"
但这会使代码混乱。人们在这种情况下通常会做什么?
【问题讨论】:
标签: sml