diff options
author | 2007-05-16 18:39:35 +0000 | |
---|---|---|
committer | 2007-05-16 18:39:35 +0000 | |
commit | 01eb823bc346f06e0a075a9dc2bbf6aa9e70b2d1 (patch) | |
tree | 7ab3dc17571e33c12c01ed905e78803d79185bbf | |
parent | 3101ff981d36359f74d5996447ba70f41398e72b (diff) |
Correction bug calcul des implicites en présence d'evars dans les types
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9827 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r-- | library/impargs.ml | 1 | ||||
-rw-r--r-- | test-suite/success/implicit.v | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/library/impargs.ml b/library/impargs.ml index 52ea66de0..f3da637de 100644 --- a/library/impargs.ml +++ b/library/impargs.ml @@ -185,6 +185,7 @@ let add_free_rels_until strict strongly_strict revpat bound env m pos acc = | Case _ when rig -> if strict then () else iter_constr_with_full_binders push_lift (frec false) ed c + | Evar _ -> () | _ -> iter_constr_with_full_binders push_lift (frec rig) ed c in diff --git a/test-suite/success/implicit.v b/test-suite/success/implicit.v index 47c58f045..9034d6a6f 100644 --- a/test-suite/success/implicit.v +++ b/test-suite/success/implicit.v @@ -36,3 +36,13 @@ Check (fun x => @ rhs _ _ (f x)). Fixpoint g n := match n with O => true | S n => g n end. Inductive P n : nat -> Prop := c : P n n. + +(* Avoid evars in the computation of implicit arguments (cf r9827) *) + +Require Import List. + +Fixpoint plus n m {struct n} := + match n with + | 0 => m + | S p => S (plus p m) + end. |