我想知道人们如何处理SML/NJ编译器中的非穷举匹配警告。例如,我可以定义一个数据类型SML/NJ未完成匹配
datatype DT = FOO of int | BAR of string
,然后让我知道一个功能只FOOS
fun baz (FOO n) = n + 1
编译器会给出警告
stdIn:1.5-1.24 Warning: match nonexhaustive FOO n => ... val baz = fn : DT -> int
我不希望看到针对我完成的不完整匹配的警告,因为之后我必须扫描输出以查找可能实际上是错误的警告。我可以写这样的功能
fun baz (FOO n) = n + 1
| baz _ = raise Fail "baz"
但这会使代码杂乱无章。人们通常在这种情况下做什么?
你能否提供一些关于如何更改编译器标志的信息? – 2014-02-06 00:15:51