Require let rec pattern variables to have layout value. #2943
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Per discussion on the unboxed tuples PR, this requires all pattern variables bound by a
let rec
to have layout value.This isn't really a change: the existence of
Lambda.layout_letrec
shows we thought things bound by a let-rec had layout value. But we have been relying onValue_rec_check
to enforce it, and that will no longer be sufficient in the presence of unboxed tuples (there is a test case in that PR showing this - I will rebase it once this is merged).@liam923 perhaps you could review? It's mostly changes to error messages. This is lower priority than the 5.2 merge or current compiler release.