From 070d2eab55e9c5a91387bc15a45ebb0d16cb3d0a Mon Sep 17 00:00:00 2001 From: Adrien Guatto Date: Tue, 14 Feb 2012 14:36:47 +0100 Subject: [PATCH] Revert "Changed linear typing for merge." This reverts commit 0abb050a23ca67bd6e88b9ced33599c16ebb233a. --- compiler/heptagon/analysis/linear_typing.ml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/compiler/heptagon/analysis/linear_typing.ml b/compiler/heptagon/analysis/linear_typing.ml index 1b13d4f..6bad16d 100644 --- a/compiler/heptagon/analysis/linear_typing.ml +++ b/compiler/heptagon/analysis/linear_typing.ml @@ -802,18 +802,8 @@ and expect env lin e = found_lin, env | Emerge (_, c_e_list) -> - (* Idea: one of the branches should be of linear type [lin], the others can be of linear type - Top *) - (* TODO: Cedric, avis ?*) - let type_clause (env, no_lin) (_, e) = - try - let _, env = expect env lin e in env, false - with _ -> - safe_expect env Ltop e, no_lin - in - let env, no_lin = List.fold_left type_clause (env, true) c_e_list in - if no_lin then message e.e_loc (Eunify_failed_one lin); - lin, env + let env = List.fold_left (fun env (_, e) -> safe_expect env lin e) env c_e_list in + lin, env | Ewhen (e, _, _) -> expect env lin e