From b8cba846d5ad1c5e15b25fa824a77e81d6a7723c Mon Sep 17 00:00:00 2001 From: msozeau Date: Fri, 11 Sep 2009 04:57:19 +0000 Subject: - Resolve type class constraints before trying to find unresolved obligations in [Program Fixpoint]. - Add maximal implicits for pairs in [Program.Syntax]. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12319 85f007b7-540e-0410-9357-904b9bb8a0f7 --- plugins/subtac/subtac_command.ml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'plugins') diff --git a/plugins/subtac/subtac_command.ml b/plugins/subtac/subtac_command.ml index eb135139c4..1095b143cc 100644 --- a/plugins/subtac/subtac_command.ml +++ b/plugins/subtac/subtac_command.ml @@ -383,7 +383,8 @@ let check_evars env initial_sigma evd c = if not (Evd.mem initial_sigma evk) then let (loc,k) = evar_source evk evd in (match k with - | QuestionMark _ -> () + | QuestionMark _ + | ImplicitArg (_, _, false) -> () | _ -> let evi = nf_evar_info sigma (Evd.find sigma evk) in Pretype_errors.error_unsolvable_implicit loc env sigma evi k None) @@ -426,6 +427,9 @@ let interp_recursive fixkind l boxed = (* Instantiate evars and check all are resolved *) let evd,_ = Evarconv.consider_remaining_unif_problems env_rec !evdref in + let evd = Typeclasses.resolve_typeclasses + ~onlyargs:true ~split:true ~fail:false env_rec evd + in let evd = Evarutil.nf_evar_defs evd in let fixdefs = List.map (nf_evar evd) fixdefs in let fixtypes = List.map (nf_evar evd) fixtypes in -- cgit v1.2.3