From ba73592a1718df30879d093b473cc81336ce63f3 Mon Sep 17 00:00:00 2001 From: Thomas Bauereiss Date: Mon, 25 Jun 2018 20:12:40 +0100 Subject: Check for variables in disjointness check --- src/rewrites.ml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/rewrites.ml b/src/rewrites.ml index 4d850dc6..1696c727 100644 --- a/src/rewrites.ml +++ b/src/rewrites.ml @@ -1071,6 +1071,8 @@ let rec disjoint_pat (P_aux (p1,annot1) as pat1) (P_aux (p2,annot2) as pat2) = | _, P_typ (_, pat2) -> disjoint_pat pat1 pat2 | P_var (pat1, _), _ -> disjoint_pat pat1 pat2 | _, P_var (pat2, _) -> disjoint_pat pat1 pat2 + | P_id id, _ when id_is_unbound id (env_of_annot annot1) -> false + | _, P_id id when id_is_unbound id (env_of_annot annot2) -> false | P_id id1, P_id id2 -> Id.compare id1 id2 <> 0 | P_app (id1, args1), P_app (id2, args2) -> Id.compare id1 id2 <> 0 || List.exists2 disjoint_pat args1 args2 -- cgit v1.2.3