aboutsummaryrefslogtreecommitdiffhomepage
path: root/library
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-04-10 21:57:03 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-04-10 21:57:03 +0000
commit1049f6f52d311e74e22faed61e57f8c7ac3e1c25 (patch)
tree38aa86799645f4d3e653371855919bc15a3f98ef /library
parent0acce1966cdcaa7b196150bc4f48e841cb82dc16 (diff)
Affichage forcé des implicites contextuels si pas de contexte connu
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3910 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library')
-rw-r--r--library/impargs.ml5
-rw-r--r--library/impargs.mli2
2 files changed, 4 insertions, 3 deletions
diff --git a/library/impargs.ml b/library/impargs.ml
index 0616e7376..420188d35 100644
--- a/library/impargs.ml
+++ b/library/impargs.ml
@@ -234,12 +234,13 @@ let is_status_implicit = function
| None -> false
| _ -> true
-let is_inferable_implicit n = function
+(* [in_ctx] means we now the expected type, [n] is the index of the argument *)
+let is_inferable_implicit in_ctx n = function
| None -> false
| Some (DepRigid (Hyp p)) -> n >= p
| Some (DepFlex (Hyp p)) -> false
| Some (DepFlexAndRigid (_,Hyp q)) -> n >= q
- | Some (DepRigid Conclusion) -> true
+ | Some (DepRigid Conclusion) -> in_ctx
| Some (DepFlex Conclusion) -> false
| Some (DepFlexAndRigid (_,Conclusion)) -> false
| Some Manual -> true
diff --git a/library/impargs.mli b/library/impargs.mli
index 1670a2385..e0e362369 100644
--- a/library/impargs.mli
+++ b/library/impargs.mli
@@ -36,7 +36,7 @@ type implicit_status
type implicits_list = implicit_status list
val is_status_implicit : implicit_status -> bool
-val is_inferable_implicit : int -> implicit_status -> bool
+val is_inferable_implicit : bool -> int -> implicit_status -> bool
val positions_of_implicits : implicits_list -> int list
(* Computation of the positions of arguments automatically inferable