I am getting a 44 warning ( Warning 44: this open statement shadows the value identifier & (which is later used)
On all the CmdLiner.Arg. calls
I thought I pretty much copied the standard beginner example from CmdLiner. (see below).
I am seeing this in VSCode with Reason-VScode extension. Yes, I am using BuckleScript to compile (But this is before that). The compile works fine.
I have a standard bsconfig file, and I would like to see the warnings, and not suppress ones like this if I can fix it.
(* OCaml syntax *)
open Cmdliner
[%%raw "process.argv.shift()"]
let chorus count msg =
for i = 1 to count do print_endline (msg ^ string_of_int i) done
let count =
let doc = "Repeat the message $(docv) times." in
Arg.(value & opt int 10 & info ["c"; "count"] ~docv:"COUNT" ~doc)
let msg =
let doc = "Overrides the default message to print." in
let env = Arg.env_var "CHORUS_MSG" ~doc in
let doc = "The message to print." in
Arg.(value & pos 0 string "Revolt!" & info [] ~env ~docv:"MSG" ~doc)
let chorus_t = Term.(const chorus $ count $ msg)
let info =
let doc = "print a customizable message repeatedly" in
let man = [
`S Manpage.s_bugs;
`P "Email bug reports to <hehey at example.org>." ] in
let version = "0.0.1"
in
Term.info "chorus" ~version ~doc ~exits:Term.default_exits ~man
let () = Term.exit @@ Term.eval (chorus_t, info)