diff options
author | 2015-02-12 15:25:34 +0100 | |
---|---|---|
committer | 2015-02-12 15:50:38 +0100 | |
commit | c13476e65f9aa909d7fe8f0504ddc5f68e49b1f0 (patch) | |
tree | 7f09a5b88513cad64183d391f69c0095b2963f57 /tactics | |
parent | e2dca0d78482e9d1e067e4d0ff847a2b65867498 (diff) |
Tentative fix for bug #4027.
Diffstat (limited to 'tactics')
-rw-r--r-- | tactics/taccoerce.ml | 6 |
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)) |