5

カスタム型でwith sexp構文拡張 (ここここで説明)を使い始めたところです。ただし、そうすると、自分のタイプについて次の警告が表示されることに気付きました。

Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Sexplib.Type.t.

これは、構文によって生成されたSexpコンバーターが Sexp (および)に対して定義された型コンストラクターのみを処理するためであると想定しています。with sexpSexp.ListSexp.Atom

私は通常、コンパイルで警告を修正しようとします。ここでコンパイラを満足させる方法はありますか (すべてのケースで警告を完全に抑制する方法はありません)?

編集: マークダウンの書式設定用。

更新: からサンプル コードを提供しhit.mlます。

open Core.Std
open Option.Monad_infix

open Battey.Kernel

type hit = (sentence * int) with sexp

次の警告が生成されます。

File "hit.ml", line 6, characters 5-27: Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Sexplib.Type.t.

その他の情報: Macbook (Yosemite) でバージョン 4.02.3 の ocamlc (を介してインストールopam) を使用しており、バージョン 113.00.00 のcoreおよびを使用してcore_kernelいます。-w Acflags にも使用しています。

更新が遅れたことをお詫びします。休日はラップトップ/インターネット接続から私を遠ざけました.

フィードバックをお寄せいただきありがとうございます!

4

1 に答える 1