diff options
Diffstat (limited to 'src/initial_check.ml')
| -rw-r--r-- | src/initial_check.ml | 6 |
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 |
