Skip to content

Unboxed tuples fixes#2837

Merged
mshinwell merged 6 commits intooxcaml:mainfrom
Ekdohibs:unboxed-tuples-in-closures
Aug 6, 2024
Merged

Unboxed tuples fixes#2837
mshinwell merged 6 commits intooxcaml:mainfrom
Ekdohibs:unboxed-tuples-in-closures

Conversation

@Ekdohibs
Copy link
Copy Markdown
Contributor

Unboxed tuples appearing in free variables of closures were previously failing. This PR can be tested with Ekdohibs@dcd9995 which sits on top of the unboxed tuples frontend work.
Example code that was previously failing:

type t = #(int * int)

let id_t (x : t) = x

let app f (x : t) = f x

let f y = app (fun _ -> id_t y) y

@ccasin
Copy link
Copy Markdown
Collaborator

ccasin commented Jul 23, 2024

I've tested this PR on the unboxed tuples branch (see test 3 here, which passes). It will need an flambda2 reviewer, but waiting for @mshinwell's return is OK if no one is available.

@Ekdohibs
Copy link
Copy Markdown
Contributor Author

Note: I added fixes to other problems with unboxed products in lambda_to_flambda.

@Ekdohibs Ekdohibs changed the title Fix for unboxed tuples in closures Unboxed tuples fixes Jul 25, 2024
@ccasin ccasin mentioned this pull request Aug 1, 2024
@mshinwell mshinwell added flambda2 Prerequisite for, or part of, flambda2 unboxed types labels Aug 6, 2024
@mshinwell mshinwell merged commit 4190b48 into oxcaml:main Aug 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

flambda2 Prerequisite for, or part of, flambda2 unboxed types

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants