aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/typeclasses.mli
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-04-18 15:26:08 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-04-18 15:26:08 +0000
commitc0b7b5b8127955fa2cb5d70bd0a84aec50f8e015 (patch)
treeae0d4b683aa3548c928ec8ef93be4b61996b9822 /pretyping/typeclasses.mli
parentae1960c4fb1c65cd68fe39bc2f6d180682625d72 (diff)
Finer fix for bug 3017, mark unresolvability only of goals that are
instances of metas in clenvtac. Makes Math-Classes compile again. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16429 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/typeclasses.mli')
-rw-r--r--pretyping/typeclasses.mli15
1 files changed, 8 insertions, 7 deletions
diff --git a/pretyping/typeclasses.mli b/pretyping/typeclasses.mli
index 5e2b9b78d..3f10200c0 100644
--- a/pretyping/typeclasses.mli
+++ b/pretyping/typeclasses.mli
@@ -77,22 +77,23 @@ val is_implicit_arg : Evar_kinds.t -> bool
val instance_constructor : typeclass -> constr list -> constr option * types
+(** Filter which evars to consider for resolution. *)
+type evar_filter = Evar_kinds.t -> bool
+val all_evars : evar_filter
+val all_goals : evar_filter
+val no_goals : evar_filter
+val no_goals_or_obligations : evar_filter
+
(** Resolvability.
Only undefined evars can be marked or checked for resolvability. *)
val is_resolvable : evar_info -> bool
val mark_unresolvable : evar_info -> evar_info
-val mark_unresolvables : evar_map -> evar_map
+val mark_unresolvables : ?filter:evar_filter -> evar_map -> evar_map
val mark_resolvable : evar_info -> evar_info
val mark_resolvables : evar_map -> evar_map
val is_class_evar : evar_map -> evar_info -> bool
-(** Filter which evars to consider for resolution. *)
-type evar_filter = Evar_kinds.t -> bool
-val all_evars : evar_filter
-val no_goals : evar_filter
-val no_goals_or_obligations : evar_filter
-
val resolve_typeclasses : ?filter:evar_filter -> ?split:bool -> ?fail:bool ->
env -> evar_map -> evar_map
val resolve_one_typeclass : env -> evar_map -> types -> open_constr