ocaml - 如何让 OCaml 编译器报告未使用的函数?

标签 ocaml compiler-warnings unused-variables

我想知道是否有任何方法可以让 OCaml 编译器报告有关未使用函数的警告?我用谷歌搜索,但没有太多关于此功能的讨论话题。

特别是,在下面的程序中,声明了两个函数“foo”和“bar”,但“_”函数中没有使用“bar”。所以我认为 OCaml 编译器应该将“bar”报告为未使用的函数。

let foo x y = x + y

let bar x y z = x + y + z         (* should be reported unused *)

let _ =
  let x = foo 1 2 in
  x

最佳答案

您需要定义一个(可能是空的).mli 接口(interface)文件来说明此模块导出的内容。否则,您只是定义了一个 bar 函数供其他模块使用。

(当然要确保你编译时带有警告)

关于ocaml - 如何让 OCaml 编译器报告未使用的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30886350/

相关文章:

c++ - 无法抑制 Mac OS X 上的特定 clang 警告

在 GCC 中编译而不生成输出文件

compiler-errors - Ocaml 中未使用的 let 表达式

Python循环PEP8规则

functional-programming - OCaml 柯里化(Currying)/多参数

ocaml - `Lazy.force` 和 `Lazy.force_val` 之间的区别

c# - 引用类型参数的编译器警告 CS1723 "XML comment has cref attribute ' T' 是什么意思?

typescript - 跳过未使用参数的类型检查

function - OCaml 中的这两个函数定义有何不同?

makefile - 如何将 .cma 文件链接到我自己的 Frama_C 插件?