aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-02-12 15:25:34 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-02-12 15:50:38 +0100
commitc13476e65f9aa909d7fe8f0504ddc5f68e49b1f0 (patch)
tree7f09a5b88513cad64183d391f69c0095b2963f57 /tactics
parente2dca0d78482e9d1e067e4d0ff847a2b65867498 (diff)
Tentative fix for bug #4027.
Diffstat (limited to 'tactics')
-rw-r--r--tactics/taccoerce.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/tactics/taccoerce.ml b/tactics/taccoerce.ml
index 215713d98..74e2341bd 100644
--- a/tactics/taccoerce.ml
+++ b/tactics/taccoerce.ml
@@ -176,6 +176,12 @@ let coerce_to_evaluable_ref env v =
let id = out_gen (topwit wit_var) v in
if Id.List.mem id (Termops.ids_of_context env) then EvalVarRef id
else fail ()
+ else if has_type v (topwit wit_ref) then
+ let r = out_gen (topwit wit_ref) v in
+ match r with
+ | VarRef var -> EvalVarRef var
+ | ConstRef c -> EvalConstRef c
+ | IndRef _ | ConstructRef _ -> fail ()
else
let ev = match Value.to_constr v with
| Some c when isConst c -> EvalConstRef (Univ.out_punivs (destConst c))