You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Modifies `simp` to elaborate all simp arguments, and *then* failing if any had any elaboration issues, rather than failing on the first simp argument.
This enables better term info and things like tab completion.
Part of addressing leanprover#3831Closesleanprover#4888
Modifies `simp` to elaborate all simp arguments without disabling error
recovery. Like in #4177, simp arguments with elaboration errors are not
added to the simp set. Error recovery is still disabled when `simp` is
used in combinators such as `first`.
This enables better term info and features like tab completion when
there are elaboration errors.
Also included is a fix to the `all_goals` and `<;>` tactic combinators.
Recall that `try`/`catch` for the Tactic monad restores the state on
failure. This meant that all messages were being cleared on tactic
failure. The fix is to use `Tactic.tryCatch` instead, which doesn't
restore state.
Part of addressing #3831Closes#4888
Prerequisites
Please put an X between the brackets as you perform the following steps:
https://github.com/leanprover/lean4/issues
Avoid dependencies to Mathlib or Batteries.
https://live.lean-lang.org/#project=lean-nightly
(You can also use the settings there to switch to “Lean nightly”)
Description
After a ton of minimization, here is an example where all_goals swallows typing errors generated by incorrect applications:
The bug propagates to <;> and from there to many other tactics and macros that fail to fail.
Versions
"4.9.0-rc3"
The text was updated successfully, but these errors were encountered: