Commit b0327383 authored by Robbert Krebbers's avatar Robbert Krebbers

Make iFresh more robust in the presence of evars.

parent d7766e5d
Pipeline #1208 passed with stage
...@@ -24,8 +24,10 @@ Ltac iFresh := ...@@ -24,8 +24,10 @@ Ltac iFresh :=
|- of_envs ?Δ _ => |- of_envs ?Δ _ =>
match goal with match goal with
| _ => eval vm_compute in (fresh_string_of_set "~" (dom stringset Δ)) | _ => eval vm_compute in (fresh_string_of_set "~" (dom stringset Δ))
(* [vm_compute fails] if [Δ] contains evars, so fall-back to [cbv] *) | _ =>
| _ => eval cbv in (fresh_string_of_set "~" (dom stringset Δ)) (* [vm_compute fails] if [Δ] contains evars, so fall-back to [cbv] *)
let Hs := eval cbv in (dom stringset Δ) in
eval vm_compute in (fresh_string_of_set "~" Hs)
end end
| _ => constr:"~" | _ => constr:"~"
end. end.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment