カスタム型で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 sexp
Sexp.List
Sexp.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 A
cflags にも使用しています。
更新が遅れたことをお詫びします。休日はラップトップ/インターネット接続から私を遠ざけました.
フィードバックをお寄せいただきありがとうございます!