-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
invalid match-expression, type of pattern variable 'match_eq✝' contains metavariables #30
Comments
Replacing the inner match with |
(And with leanprover/lean4#3060, this obviously also affects |
My initial thought was that these lines are missing a Lines 208 to 212 in ccba5d3
but this doesn't seem to make any difference. |
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 like `norm_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
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.
I'm facing this issue too; in my case, the match was sensitive to the order of the arguments, and swapping them allowed me to work around this bug.
When I edit this line: Line 262 in ad942fd
to hard-code the universe level, everything seems to work. I suspect that |
|
A metavariable for a
instead of
(the code I've written doesn't work with the quote interpolation.) |
I think the confusion here is between metavariables which are created at match time (resolved with defeq), and metavariables which are created and resolved while elaborating the |
The following example:
gives the error:
Indeed, the type of
match_eq✝
in the goal inhas a metavariable for the
Level
argument.The text was updated successfully, but these errors were encountered: