aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pretyping/recordops.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/pretyping/recordops.ml b/pretyping/recordops.ml
index 100109652d..110e4fe597 100644
--- a/pretyping/recordops.ml
+++ b/pretyping/recordops.ml
@@ -186,8 +186,8 @@ let open_canonical_structure i (_,o) =
let lo = compute_canonical_projections o in
List.iter (fun ((proj,cs_pat),s) ->
let l = try Refmap.find proj !object_table with Not_found -> [] in
- let l' = list_add_set (cs_pat,s) l in
- object_table := Refmap.add proj l' !object_table) lo
+ if not (List.mem_assoc cs_pat l) then
+ object_table := Refmap.add proj ((cs_pat,s)::l) !object_table) lo
let cache_canonical_structure o =
open_canonical_structure 1 o