1

この非常に基本的なモジュール定義を考えてみましょう:

module type My_test = sig
  type config with sexp
end;;

utop プロンプトでこれを直接入力すると、すべて正常に動作します。

utop # module type My_test = sig
type config with sexp
end;;
module type My_test =
  sig type config val config_of_sexp : Sexp.t -> config val sexp_of_config : config -> Sexp.t end

しかし#use、まったく同じ定義を含むファイルにアクセスしようとすると、Unbound type constructor _no_unused_value_warning_エラーが発生します。

utop # #use "dummy.mli";;
File "dummy.mli", line 2, characters 7-13:
Error: Unbound type constructor _no_unused_value_warning_

(2行目はtype config with sexp)

バージョン情報:The universal toplevel for OCaml, version 1.7, compiled for OCaml version 4.01.0

アップデート:

私は本当に興味があるので、賞金を始めています

  • これがOCamlのバグかどうかを知る
  • 私のコードの賢明な回避策/修正
4

2 に答える 2

1

私は今日、Ocaml 4.02.1 で utop 1.17 を使用してこれに遭遇しました。gautamc'e の優れた回答を読んだ後、次の簡単な回避策を試しました。 utop # type 'a _no_unused_value_warning_ = 'a;;

これにより、問題を抱えていたモジュールを正常に#使用することができました。

于 2014-12-26T20:13:47.337 に答える