From d69a67fc06051fd72895b60de4b908317511687f Mon Sep 17 00:00:00 2001 From: herbelin Date: Wed, 24 Mar 2010 11:35:22 +0000 Subject: Fixed bug #2260 (check of resolution of all evars in the declaration of a lemma was no longer done). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12885 85f007b7-540e-0410-9357-904b9bb8a0f7 --- test-suite/failure/evarlemma.v | 3 +++ toplevel/lemmas.ml | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 test-suite/failure/evarlemma.v diff --git a/test-suite/failure/evarlemma.v b/test-suite/failure/evarlemma.v new file mode 100644 index 0000000000..ea753e79c5 --- /dev/null +++ b/test-suite/failure/evarlemma.v @@ -0,0 +1,3 @@ +(* Check success of inference of evars in the context of lemmas *) + +Lemma foo x : True. diff --git a/toplevel/lemmas.ml b/toplevel/lemmas.ml index 48666c5145..247fbbc0a5 100644 --- a/toplevel/lemmas.ml +++ b/toplevel/lemmas.ml @@ -312,10 +312,11 @@ let start_proof_with_initialization kind recguard thms hook = let start_proof_com kind thms hook = let evdref = ref (create_evar_defs Evd.empty) in - let env = Global.env () in + let env0 = Global.env () in let thms = List.map (fun (sopt,(bl,t,guard)) -> - let (env, ctx), imps = interp_context_evars evdref env bl in + let (env, ctx), imps = interp_context_evars evdref env0 bl in let t', imps' = interp_type_evars_impls ~evdref env t in + Sign.iter_rel_context (check_evars env Evd.empty !evdref) ctx; let len = List.length ctx in (compute_proof_name sopt, (nf_isevar !evdref (it_mkProd_or_LetIn t' ctx), -- cgit v1.2.3