summaryrefslogtreecommitdiff
path: root/debugger/loadprinter.ml
diff options
context:
space:
mode:
Diffstat (limited to 'debugger/loadprinter.ml')
-rw-r--r--debugger/loadprinter.ml15
1 files changed, 7 insertions, 8 deletions
diff --git a/debugger/loadprinter.ml b/debugger/loadprinter.ml
index 5009623a89..ff2eed190b 100644
--- a/debugger/loadprinter.ml
+++ b/debugger/loadprinter.ml
@@ -90,14 +90,13 @@ let eval_value_path env path =
(* Install, remove a printer (as in toplevel/topdirs) *)
let match_printer_type desc make_printer_type =
- Ctype.begin_def();
- let ty_arg = Ctype.newvar() in
- Ctype.unify Env.empty
- (make_printer_type ty_arg)
- (Ctype.instance desc.val_type);
- Ctype.end_def();
- Ctype.generalize ty_arg;
- ty_arg
+ Ctype.wrap_def ~post:Ctype.generalize begin fun () ->
+ let ty_arg = Ctype.newvar() in
+ Ctype.unify Env.empty
+ (make_printer_type ty_arg)
+ (Ctype.instance desc.val_type);
+ ty_arg
+ end
let find_printer_type lid =
match Env.find_value_by_name lid Env.empty with