diff --git a/src/mlw/ocaml_printer.ml b/src/mlw/ocaml_printer.ml index 94843f50d6197006bf576bc76796b3d1b8fdc1cf..716550b297a10f5f6a41d63fd542e05a165670af 100644 --- a/src/mlw/ocaml_printer.ml +++ b/src/mlw/ocaml_printer.ml @@ -391,12 +391,10 @@ module Print = struct and print_let_def ?(functor_arg=false) info fmt = function | Lvar (pv, {e_node = Eany ty}) when functor_arg -> fprintf fmt "@[<hov 2>val %a : %a@]" - (print_lident info) (pv_name pv) - (print_ty info) ty; + (print_lident info) (pv_name pv) (print_ty info) ty; | Lvar (pv, e) -> fprintf fmt "@[<hov 2>let %a =@ %a@]" - (print_lident info) (pv_name pv) - (print_expr info) e; + (print_lident info) (pv_name pv) (print_expr info) e | Lsym (rs, res, args, ef) -> fprintf fmt "@[<hov 2>let %a @[%a@] : %a@ =@ @[%a@]@]" (print_lident info) rs.rs_name @@ -513,11 +511,12 @@ module Print = struct | Eraise (xs, e_opt) -> print_raise ~paren info xs fmt e_opt | Efor (pv1, pv2, dir, pv3, e) -> - if is_mapped_to_int info pv1.pv_ity then + if is_mapped_to_int info pv1.pv_ity then begin fprintf fmt "@[<hov 2>for %a = %a %a %a do@ @[%a@]@ done@]" (print_lident info) (pv_name pv1) (print_lident info) (pv_name pv2) print_for_direction dir (print_lident info) (pv_name pv3) - (print_expr info) e + (print_expr info) e; + forget_pv pv1 end else let for_id = id_register (id_fresh "for_loop_to") in let cmp, op = match dir with