aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoqbot-app[bot]2020-09-02 08:12:03 +0000
committerGitHub2020-09-02 08:12:03 +0000
commitcc51e1fd680c1f1bf47cc8b504196c9f2677fa3b (patch)
tree37c69be12d25afa112249c187bae059d949f8388
parent8666b46353c1f2c751bb5b6d4e1012783d107ae4 (diff)
parentc3d8ab86e892ec85acc843be62f3de9060368b13 (diff)
Merge PR #12883: Use a faster algorithm to check for class existence.
Reviewed-by: mattam82
-rw-r--r--pretyping/typeclasses.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/pretyping/typeclasses.ml b/pretyping/typeclasses.ml
index d1b65775bd..adb9c5299f 100644
--- a/pretyping/typeclasses.ml
+++ b/pretyping/typeclasses.ml
@@ -68,6 +68,7 @@ type typeclass = {
}
type typeclasses = typeclass GlobRef.Map.t
+(* Invariant: for any pair (gr, tc) in the map, gr and tc.cl_impl are equal *)
type instance = {
is_class: GlobRef.t;
@@ -268,7 +269,7 @@ let instances env sigma r =
let cl = class_info env sigma r in instances_of cl
let is_class gr =
- GlobRef.Map.exists (fun _ v -> GlobRef.equal v.cl_impl gr) !classes
+ GlobRef.Map.mem gr !classes
open Evar_kinds
type evar_filter = Evar.t -> Evar_kinds.t Lazy.t -> bool