From 01eb823bc346f06e0a075a9dc2bbf6aa9e70b2d1 Mon Sep 17 00:00:00 2001 From: herbelin Date: Wed, 16 May 2007 18:39:35 +0000 Subject: 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 --- library/impargs.ml | 1 + test-suite/success/implicit.v | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/library/impargs.ml b/library/impargs.ml index 52ea66de0c..f3da637de5 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 47c58f0450..9034d6a6f0 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. -- cgit v1.2.3