From 44769ade85d8ca355ca4bb7579a0c2798e0c15b7 Mon Sep 17 00:00:00 2001 From: zapashcanon Date: Sat, 1 Jul 2023 05:13:46 +0200 Subject: [PATCH] fix parser+typecheck bug --- src/menhir_parser.mly | 2 +- src/typecheck.ml | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/menhir_parser.mly b/src/menhir_parser.mly index 0fef10433..f06d5be99 100644 --- a/src/menhir_parser.mly +++ b/src/menhir_parser.mly @@ -660,7 +660,7 @@ let expr_aux == let bt = match pt, rt with | [], [] -> bt | pt, rt -> - let pt = List.rev_map (fun t -> None, t) pt in + let pt = List.map (fun t -> None, t) pt in let raw = pt, rt in begin match bt with | Some (Arg.Bt_ind type_use) -> Some (bt_raw (Some type_use) raw) diff --git a/src/typecheck.ml b/src/typecheck.ml index 14266a6cc..f30a7dda3 100644 --- a/src/typecheck.ml +++ b/src/typecheck.ml @@ -284,9 +284,6 @@ let rec typecheck_instr (env : env) (stack : stack) (instr : instr) : let t = Env.global_get i env in Stack.pop [ typ_of_val_type t ] stack | If_else (_id, block_type, e1, e2) -> - let block_type = - Option.map (fun (pt, rt) -> (List.rev pt, rt)) block_type - in let* stack = Stack.pop [ i32 ] stack in let* stack_e1 = typecheck_expr env e1 ~is_loop:false block_type ~stack in let* _stack_e2 = typecheck_expr env e2 ~is_loop:false block_type ~stack in