From 8a3c9dfc84e552d296c80c38b417c2b22e6f1da8 Mon Sep 17 00:00:00 2001 From: Brian Campbell Date: Wed, 28 Jun 2017 17:29:32 +0100 Subject: Use more plausible type for E_case (Previously it used the last branch's type!) --- src/type_check.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/type_check.ml b/src/type_check.ml index c4119281..e285477a 100644 --- a/src/type_check.ml +++ b/src/type_check.ml @@ -1593,7 +1593,7 @@ let rec check_exp envs (imp_param:nexp option) (widen_num:bool) (widen_vec:bool) let (pexps',t,cs',ef') = check_cases envs imp_param ret_t t' expect_t (if (List.length pexps) = 1 then Solo else Switch) pexps in let effects = union_effects ef ef' in - (E_aux(E_case(e',pexps'),(l,simple_annot_efr t effects)),t, + (E_aux(E_case(e',pexps'),(l,simple_annot_efr expect_t effects)),t, t_env,cs@[BranchCons(Expr l, None, cs')],nob,effects) | E_let(lbind,body) -> let (lb',t_env',cs,b_env',ef) = (check_lbind envs imp_param false (Some ret_t) Emp_local lbind) in -- cgit v1.2.3