Fix lazy/float interaction when configured with -no-flat-float-array.#1471
Fix lazy/float interaction when configured with -no-flat-float-array.#1471damiendoligez merged 3 commits intoocaml:trunkfrom
Conversation
|
I'm confused. @mshinwell said "the comment may be wrong when flat_float_array is not set", and the comment says "we don't need to wrap with Also, do we need to keep a distinction between |
|
Your second question answers the first: when As for the answer to your second question, we could probably do it that way because |
|
I'm suggesting to change the type in all cases by renaming the |
|
I've done the change you suggest, but I'm not completely convinced that it's better this way. |
|
How about renaming |
|
I believe that without this change, the test file let rec x = [| x |]; 1.;;
let rec x = let u = [|y|] in 10. and y = 1.;;and currently they are rejected. |
|
Hm, actually the patchset itself does not seem to change the let-rec-checking of flat arrays. I may be misunderstanding something (currently I cannot manage to get this test working with |
#1516 fixes the issue, taking |
|
@damiendoligez Are you able to update this so we can merge to 4.07? |
9728a54 to
8f24f40
Compare
|
Rebased. Needs a formal review. @gasche @mshinwell |
|
I'd like to restate my suggestion of renaming |
|
@mshinwell I agree it's clearer but it's not quite correct: it's not just the GC that cannot shortcut this value, but also |
gasche
left a comment
There was a problem hiding this comment.
Yes to your last naming proposal and let's merge the thing.
-no-flat-float-array. Problem reported by Mark Shinwell in ocaml#1465 (review)
38a45ad to
1aa51f2
Compare
…#1471) Fix interaction between lazy and float when configured with -no-flat-float-array. Problem reported by Mark Shinwell in #1465 (review)
|
merged and cherry-picked to 4.07 (commit df741e4) |
Potential bug reported by @mshinwell in #1465 (review)
IMO, it would be pretty hard to come up with a stable test case for this one.
cc @chambart