aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Dénès2019-04-09 11:03:13 +0200
committerMaxime Dénès2019-04-09 11:03:13 +0200
commit5463cfbaaaab2e696c4bbeeeb38f03ca79d5949e (patch)
treef5903e140972be1dfc5052fc74e51b9c21feb813
parentd47892548aebfb6640a8721ee1ec3493bfd3ce2a (diff)
Adapt to Coq's PR #9909
-rw-r--r--src/tac2core.ml13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/tac2core.ml b/src/tac2core.ml
index a584933e00..d7e7b91ee6 100644
--- a/src/tac2core.ml
+++ b/src/tac2core.ml
@@ -1030,9 +1030,10 @@ let () =
let intern = intern_constr in
let interp ist c = interp_constr (constr_flags ()) ist c in
let print env c = str "constr:(" ++ Printer.pr_lglob_constr_env env c ++ str ")" in
+ let subst subst c = Detyping.subst_glob_constr (Global.env()) subst c in
let obj = {
ml_intern = intern;
- ml_subst = Detyping.subst_glob_constr;
+ ml_subst = subst;
ml_interp = interp;
ml_print = print;
} in
@@ -1042,9 +1043,10 @@ let () =
let intern = intern_constr in
let interp ist c = interp_constr (open_constr_no_classes_flags ()) ist c in
let print env c = str "open_constr:(" ++ Printer.pr_lglob_constr_env env c ++ str ")" in
+ let subst subst c = Detyping.subst_glob_constr (Global.env()) subst c in
let obj = {
ml_intern = intern;
- ml_subst = Detyping.subst_glob_constr;
+ ml_subst = subst;
ml_interp = interp;
ml_print = print;
} in
@@ -1069,12 +1071,17 @@ let () =
let _, pat = warn (fun () ->Constrintern.intern_constr_pattern env sigma ~as_type:false c) () in
GlbVal pat, gtypref t_pattern
in
+ let subst subst c =
+ let env = Global.env () in
+ let sigma = Evd.from_env env in
+ Patternops.subst_pattern env sigma subst c
+ in
let print env pat = str "pattern:(" ++ Printer.pr_lconstr_pattern_env env Evd.empty pat ++ str ")" in
let interp _ c = return (Value.of_pattern c) in
let obj = {
ml_intern = intern;
ml_interp = interp;
- ml_subst = Patternops.subst_pattern;
+ ml_subst = subst;
ml_print = print;
} in
define_ml_object Tac2quote.wit_pattern obj