为什么我无法在 Ocaml 中编译包含未使用变量的程序?
让 foo a b = a + b
-- 错误(警告 32 [未使用值声明]):未使用值 foo。
最佳答案
您可以通过自定义沙丘文件中的标志来禁止将警告升级为错误:
(flags (:standard -warn-error "-unused-value-declaration"))
或使用文件本身的属性禁用升级
[@@@warnerror "-unused-value-declaration"]
或仅获取值:
let[@warnerror "-unused-value-declaration"] x = ()
(您可以使用 -w
和 @warning
来禁用警告本身,而不是将其升级为错误。)
也可以使用前导下划线来指示故意不使用某个值的意图:
let _x = ()
尽管如此,我发现此警告通常有助于避免源代码中的死代码,并且我不建议禁用它。
关于compiler-errors - Ocaml 中未使用的 let 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73157592/