aboutsummaryrefslogtreecommitdiff
path: root/tactics/hints.mli
diff options
context:
space:
mode:
authorGaëtan Gilbert2020-03-14 13:09:19 +0100
committerGaëtan Gilbert2020-03-14 13:09:19 +0100
commit1f984236f4bdc441b80f19bcc32424a45d8168f3 (patch)
tree36723e2bfcc13d7cf486404bd0cfdc26781f07bc /tactics/hints.mli
parent5189661a3cc165d8f6cb943c07eb9d644f339102 (diff)
parent89d13a553d340ae2a49853597155ab45c0f5a0f4 (diff)
Merge PR #10858: Implementing postponed constraints in TC resolution
Reviewed-by: SkySkimmer Ack-by: Zimmi48 Ack-by: ejgallego
Diffstat (limited to 'tactics/hints.mli')
-rw-r--r--tactics/hints.mli20
1 files changed, 14 insertions, 6 deletions
diff --git a/tactics/hints.mli b/tactics/hints.mli
index 7bb17489bf..2663f65851 100644
--- a/tactics/hints.mli
+++ b/tactics/hints.mli
@@ -125,6 +125,10 @@ val glob_hints_path_atom :
val glob_hints_path :
Libnames.qualid hints_path_gen -> GlobRef.t hints_path_gen
+type 'a with_mode =
+ | ModeMatch of 'a
+ | ModeMismatch
+
module Hint_db :
sig
type t
@@ -140,16 +144,20 @@ module Hint_db :
val map_all : secvars:Id.Pred.t -> GlobRef.t -> t -> full_hint list
(** All hints associated to the reference, respecting modes if evars appear in the
- arguments, _not_ using the discrimination net. *)
+ arguments, _not_ using the discrimination net.
+ Returns a [ModeMismatch] if there are declared modes and none matches.
+ *)
val map_existential : evar_map -> secvars:Id.Pred.t ->
- (GlobRef.t * constr array) -> constr -> t -> full_hint list
+ (GlobRef.t * constr array) -> constr -> t -> full_hint list with_mode
(** All hints associated to the reference, respecting modes if evars appear in the
- arguments and using the discrimination net. *)
- val map_eauto : evar_map -> secvars:Id.Pred.t -> (GlobRef.t * constr array) -> constr -> t -> full_hint list
+ arguments and using the discrimination net.
+ Returns a [ModeMismatch] if there are declared modes and none matches. *)
+ val map_eauto : evar_map -> secvars:Id.Pred.t -> (GlobRef.t * constr array) -> constr -> t -> full_hint list with_mode
- (** All hints associated to the reference, respecting modes if evars appear in the
- arguments. *)
+ (** All hints associated to the reference.
+ Precondition: no evars should appear in the arguments, so no modes
+ are checked. *)
val map_auto : evar_map -> secvars:Id.Pred.t ->
(GlobRef.t * constr array) -> constr -> t -> full_hint list