diff options
| author | Pierre-Marie Pédrot | 2016-06-27 20:47:43 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2016-06-27 20:47:43 +0200 |
| commit | 663a8647bbc32e11243091de80f9953ed5fb7eff (patch) | |
| tree | 7fba0a308daee7586221f752e233dd8fa9c8f5f5 /tactics/hints.ml | |
| parent | d4725f692a5f202ca4c5d6341b586b0e377f6973 (diff) | |
| parent | a7ea32fbf3829d1ce39ce9cc24b71791727090c5 (diff) | |
Merge branch 'v8.5'
Diffstat (limited to 'tactics/hints.ml')
| -rw-r--r-- | tactics/hints.ml | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tactics/hints.ml b/tactics/hints.ml index 95bf1babe0..9527191299 100644 --- a/tactics/hints.ml +++ b/tactics/hints.ml @@ -1096,10 +1096,12 @@ exception Found of constr * types let prepare_hint check (poly,local) env init (sigma,c) = let sigma = Typeclasses.resolve_typeclasses ~fail:false env sigma in - (* We re-abstract over uninstantiated evars. + (* We re-abstract over uninstantiated evars and universes. It is actually a bit stupid to generalize over evars since the first thing make_resolves will do is to re-instantiate the products *) - let c = drop_extra_implicit_args (Evarutil.nf_evar sigma c) in + let sigma, subst = Evd.nf_univ_variables sigma in + let c = Vars.subst_univs_constr subst (Evarutil.nf_evar sigma c) in + let c = drop_extra_implicit_args c in let vars = ref (collect_vars c) in let subst = ref [] in let rec find_next_evar c = match kind_of_term c with |
