OCamlの(多分次期標準の)ビルドツールであるdune(https://github.com/ocaml/dune)を使ってコンパイルすると、すべてのwarningがerror扱いされてしまいます。例えば、
について
dune exec ./main.exe
を叩くと、
ocamlc .main.eobjs/main.{cmi,cmo,cmt} (exit 2) (中略) File "main.ml", line 2, characters 6-7: Error (warning 26): unused variable x.
となり、未使用変数の警告がエラー扱いされてしまって実行することができません。どうもduneがocamlc(コンパイラ)にwarningすべてをerrorにする「-w @A」をわたしているようです。開発中の未使用変数ぐらい大目に見てほしいので、warningのままでいてほしいです。そこで、duneファイルを
として、ocamlcにさらにwarningすべてをerrorとして扱わない「-warn-error a」を渡すと解決します。
http://ocaml.jp/archive/ocaml-manual-3.06-ja/manual025.html
(ところで、gistで1ファイルだけ埋め込むときはgistの上のほうの埋め込みタグのURIの後ろに「?file=hoge.fuga」をつければいいのね)