Closed let-def closed 5 years ago
Thanks, and sorry for the slow reaction. LGTM, only a minor inline remark.
@alainfrisch: Thanks for the review. I updated the diff.
I believe this patch is required for supporting OCaml 4.08 (Issue #69), which adds an inline record for the Pexp_letop
variant constructor.
There are some conflicts that require rebase.
I checked the PR - it does seem not required anymore? Because it seems it is already integrated in the master. So can be closed, I guess.
The main problem with inline records is that labels are prefixed with an absolute path, e.g.
generates code which looks like:
which is not valid OCaml code. For inline records, labels should just be identifiers (disambiguation is based on the name of the constructor, e.g. Test.A in this example).
This patch removes the prefix at two levels:
The bug was found by @daacaceressa who helped testing this solution. Open question: should we backport the patch to older versions of OCaml? Because of this issue, inline records have never been supported by genlifter.