diff options
author | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2010-06-08 01:02:59 +0000 |
---|---|---|
committer | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2010-06-08 01:02:59 +0000 |
commit | 0d35afe57ac42ec0c8b3f7a66a104361a86616b0 (patch) | |
tree | f254918bc70c29ee572c3b2ad0551b8d61ca75c4 /lib/util.ml | |
parent | 6b7191b8828578930b7c58017c8c58fd1890b458 (diff) |
Fix treatment of {struct x} annotations in presence of generalized
binders.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13086 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib/util.ml')
-rw-r--r-- | lib/util.ml | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml index af5f2e33c..42cdc2bf2 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -800,6 +800,13 @@ let list_cartesians op init ll = let list_combinations l = list_cartesians (fun x l -> x::l) [] l +let rec list_combine3 x y z = + match x, y, z with + | [], [], [] -> [] + | (x :: xs), (y :: ys), (z :: zs) -> + (x, y, z) :: list_combine3 xs ys zs + | _, _, _ -> raise (Invalid_argument "list_combine3") + (* Keep only those products that do not return None *) let rec list_cartesian_filter op l1 l2 = |