fix: allow generalization in let#3060
Conversation
|
awaiting-review |
|
|
@semorrison, is there any hope of this landing in the 4.5.0 release? |
I'm sorry, this didn't make it. |
|
And just to check I understand the rc process, the fact this missed 4.5.0rc1 means it certainly will miss any future rcs? |
Well, hopefully it can make The status of |
|
If rc2 happens it would be great if this could land in it, but certainly this PR isn't important enough to justify rc2 existing! |
|
@Kha, I know @eric-wieser is keen to get this in, as it will enable new uses of Qq in writing tactic ( |
|
It looks like a strict improvement to me but I'll give @leodemoura a chance to look at it as well since he wrote the code. In general we haven't gone back to the |
|
@Kha, if Leo doesn't have the time, are you comfortable merging this without his approval? |
|
Ok, I still don't see any possible downsides |
leanprover/lean4#3060 exposed the latent leanprover-community/quote4#30 (by propagating it from `if let` and `match` to `let`). The workaround is thankfully trivial.
Mathlib is now using v4.6.0-rc1, which includes the fix in leanprover/lean4#3060
Mathlib is now using v4.6.0-rc1, which includes the fix in leanprover/lean4#3060
As suggested by @kmill, removing an unnecessary
let(possibly only there in the first place for copy/paste reasons) seems to fix the included test.This makes
~q()matching in quote4 noticeably more useful in things likenorm_num(as it fixes leanprover-community/quote4#29)It also makes a quote4 bug slightly more visible (leanprover-community/quote4#30), but the bug there already existed anyway, and isn't caused by this patch.
Fixes #3065