summaryrefslogtreecommitdiff
path: root/src/initial_check.ml
diff options
context:
space:
mode:
Diffstat (limited to 'src/initial_check.ml')
-rw-r--r--src/initial_check.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/initial_check.ml b/src/initial_check.ml
index 74faba25..e9695dd4 100644
--- a/src/initial_check.ml
+++ b/src/initial_check.ml
@@ -1079,6 +1079,12 @@ let generate_undefineds vs_ids (Defs defs) =
mk_fundef [mk_funcl (prepend_id "undefined_" id)
pat
(mk_exp (E_record (mk_fexps (List.map (fun (_, id) -> mk_fexp id (mk_lit_exp L_undef)) fields))))]]
+ | TD_variant (id, _, typq, tus, _) when not (IdSet.mem (prepend_id "undefined_" id) vs_ids) ->
+ [mk_val_spec (VS_val_spec (undefined_typschm id typq, prepend_id "undefined_" id));
+ mk_fundef [mk_funcl (prepend_id "undefined_" id)
+ (mk_pat (P_lit (mk_lit L_unit)))
+ (mk_exp (E_app (mk_id "internal_pick",
+ [])))]]
| _ -> []
in
let rec undefined_defs = function