From f5cc4625e053a1cf0821ed7dc951863a4aa69dcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pasteur?= Date: Tue, 7 May 2013 17:13:00 +0200 Subject: [PATCH] And don't forget to type the argument of when --- compiler/heptagon/analysis/linear_typing.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/heptagon/analysis/linear_typing.ml b/compiler/heptagon/analysis/linear_typing.ml index f0fea11..9315e62 100644 --- a/compiler/heptagon/analysis/linear_typing.ml +++ b/compiler/heptagon/analysis/linear_typing.ml @@ -446,7 +446,9 @@ let rec typing_exp env e = not_linear_for_exp e1, env | Eapp ({ a_op = Efield }, _, _) -> Ltop, env | Eapp ({ a_op = Earray }, _, _) -> Ltop, env - | Ewhen (e, _, _) -> lin_skeleton Ltop e.e_ty, env + | Ewhen (e1, _, _) -> + let env = safe_expect env (not_linear_for_exp e1) e1 in + lin_skeleton Ltop e.e_ty, env | Estruct _ -> Ltop, env | Emerge _ | Esplit _ | Eapp _ | Eiterator _ -> assert false in