aboutsummaryrefslogtreecommitdiffhomepage
path: root/interp/stdarg.ml
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2016-10-23 21:26:20 +0200
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2017-05-22 12:06:59 +0200
commit9eb2f7480de8ded94a1b96eb4f6cc16d19a8c14d (patch)
tree70115d49a0ca45c6fa06a5978878ccb7ae302987 /interp/stdarg.ml
parent11851daee3a14f784cc2a30536a8f69be62c4f62 (diff)
Clarifying the interpretation path for the "constr_with_binding" argument.
This fixes an inconsistency introduced in 554a6c806 (svn r12603) where both interp_constr_with_bindings and interp_open_constr_with_bindings were going through interp_open_constr (no type classes so as to not to commit too early on irreversible choices, accepting unresolved holes). We fix this by having interp_constr_with_bindings going to interp_constr (using type classes and failing on unresolved evars). The external impact is that any TACTIC EXTEND which refers to constr_with_binding has now to decide whether it intends it to use what the name suggest (using type classes and to fail if evars remain unresolved), thus keeping constr_with_binding, or the actual behavior which requires to use open_constr_with_bindings for strict compatibility.
Diffstat (limited to 'interp/stdarg.ml')
-rw-r--r--interp/stdarg.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/interp/stdarg.ml b/interp/stdarg.ml
index 5920b0d50..64f8b3913 100644
--- a/interp/stdarg.ml
+++ b/interp/stdarg.ml
@@ -59,6 +59,8 @@ let wit_open_constr = make0 ~dyn:(val_tag (topwit wit_constr)) "open_constr"
let wit_constr_with_bindings = make0 "constr_with_bindings"
+let wit_open_constr_with_bindings = make0 "open_constr_with_bindings"
+
let wit_bindings = make0 "bindings"
let wit_red_expr = make0 "redexpr"