diff options
| author | msozeau | 2012-03-20 18:46:08 +0000 |
|---|---|---|
| committer | msozeau | 2012-03-20 18:46:08 +0000 |
| commit | debb1dba19c079afd7657e8518034209f08bb2b1 (patch) | |
| tree | 65ed66a015b5bab33ac7d51dde167ca37f757928 /toplevel/command.ml | |
| parent | 17ca9766c45ebb368558712eff18d0ed71583e66 (diff) | |
Fix interface of resolve_typeclasses: onlyargs -> with_goals:
by default typeclass resolution is not launched on goal evars.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15074 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel/command.ml')
| -rw-r--r-- | toplevel/command.ml | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/toplevel/command.ml b/toplevel/command.ml index 8bb875ffb5..13139557a5 100644 --- a/toplevel/command.ml +++ b/toplevel/command.ml @@ -282,8 +282,7 @@ let interp_mutual_inductive (paramsl,indl) notations finite = (* Instantiate evars and check all are resolved *) let evd = consider_remaining_unif_problems env_params !evdref in - let evd = Typeclasses.mark_resolvables evd in - let evd = Typeclasses.resolve_typeclasses ~onlyargs:false ~fail:true env_params evd in + let evd = Typeclasses.resolve_typeclasses ~with_goals:false ~fail:true env_params evd in let sigma = evd in let constructors = List.map (fun (idl,cl,impsl) -> (idl,List.map (nf_evar sigma) cl,impsl)) constructors in let ctx_params = Sign.map_rel_context (nf_evar sigma) ctx_params in @@ -768,7 +767,7 @@ let interp_recursive isfix fixl notations = (env,rec_sign,evd), (fixnames,fixdefs,fixtypes), list_combine3 fixctxnames fiximps fixannots let check_recursive isfix ((env,rec_sign,evd),(fixnames,fixdefs,fixtypes),info) = - let evd = Typeclasses.resolve_typeclasses ~onlyargs:false ~fail:true env evd in + let evd = Typeclasses.resolve_typeclasses ~with_goals:false ~fail:true env evd in List.iter (Option.iter (check_evars (push_named_context rec_sign env) Evd.empty evd)) fixdefs; List.iter (check_evars env Evd.empty evd) fixtypes; if not (List.mem None fixdefs) then begin @@ -876,7 +875,7 @@ let do_program_recursive fixkind fixl ntns = in (* Program-specific code *) (* Get the interesting evars, those that were not instanciated *) - let evd = Typeclasses.resolve_typeclasses ~onlyargs:true ~fail:true env evd in + let evd = Typeclasses.resolve_typeclasses ~with_goals:false ~fail:true env evd in (* Solve remaining evars *) let rec collect_evars id def typ imps = (* Generalize by the recursive prototypes *) |
