-
Notifications
You must be signed in to change notification settings - Fork 462
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
Type mismatch with pattern matching and lets #1686
Comments
@hargoniX The type error occurs after the
One solution is to track whether the parameter occurs in a type and don't abstract it. Another option is to invoke the transformation only on phase 2 after we have erased type parameters. cc @digama0 |
I will disable the |
@hargoniX I didn't look at the bug in detail, but I think we can fix this issue by applying the substitution from free-variables to parameters to all types. For example, the type of the nested join point should be MessageData →
Core.Context →
ST.Ref PUnit Core.State →
Type → Context → PUnit → ST.Ref PUnit State → Expr → EStateM.Result Exception PUnit _y.240 --- << instead of alpha |
Taking a look! |
prints:
Nightly:
leanprover/lean4:nightly-2022-10-04
The text was updated successfully, but these errors were encountered: