-
Notifications
You must be signed in to change notification settings - Fork 701
Open
Labels
kind: questionIssues seeking an answer to a question. Consider asking on zulip instead.Issues seeking an answer to a question. Consider asking on zulip instead.part: ltac2Issues and PRs related to the (in development) Ltac2 tactic langauge.Issues and PRs related to the (in development) Ltac2 tactic langauge.
Description
As I understand it, Control.refine f and Control.unshelve (fun () => let c := f () in eexact $f) should have the same behavior modulo side-condition ordering.
Today I have run into an issue much like #20628 where Control.refine (fun () => c) instantiates some evar which occurs neither in c nor the type of c nor in the goal type (and which I believe is not a class).
If we can, I propose that we deprecate the current behavior of Control.refine and re-implement it with unshelve and eexact, unless there is something particularly important about the current quirks.
Metadata
Metadata
Assignees
Labels
kind: questionIssues seeking an answer to a question. Consider asking on zulip instead.Issues seeking an answer to a question. Consider asking on zulip instead.part: ltac2Issues and PRs related to the (in development) Ltac2 tactic langauge.Issues and PRs related to the (in development) Ltac2 tactic langauge.