From ac6acc468010458b3cb3e9a6b720921d62027e76 Mon Sep 17 00:00:00 2001 From: Joachim Breitner Date: Wed, 27 Feb 2019 17:40:05 +0100 Subject: [PATCH] Clean up `LoopE` code in `Typing`. --- src/typing.ml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/typing.ml b/src/typing.ml index 1f51b1c0ba7..1015c37992c 100644 --- a/src/typing.ml +++ b/src/typing.ml @@ -517,17 +517,17 @@ and infer_exp'' env exp : T.typ = check_exp env T.unit exp2 end; T.unit - | LoopE (exp1, expo) -> + | LoopE (exp1, None) -> + if not env.pre then begin + check_exp env T.unit exp1 + end; + T.Non + | LoopE (exp1, Some exp2) -> if not env.pre then begin check_exp env T.unit exp1; + check_exp env T.bool exp2 end; - begin match expo with - | Some exp2 -> - check_exp env T.bool exp2; - T.unit - | None -> - T.Non - end + T.unit | ForE (pat, exp1, exp2) -> if not env.pre then begin let t1 = infer_exp_promote env exp1 in