Skip to content

Commit 6427756

Browse files
committedJul 12, 2020
add a test for unboxed interaction wtih recursive types
1 parent a1b88e6 commit 6427756

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed
 

‎jscomp/test/rec_value_test.js

+8
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,13 @@ var fake_inline = fake_inline_minus;
576576

577577
var fake_inline_inlie2 = fake_inline_minus(3);
578578

579+
var u = [];
580+
581+
Caml_obj.update_dummy(u, [
582+
1,
583+
u
584+
]);
585+
579586
Mt.from_pair_suites("Rec_value_test", suites);
580587

581588
var v$1 = 3;
@@ -616,4 +623,5 @@ exports.fake_minus = fake_minus;
616623
exports.fake_inline = fake_inline;
617624
exports.fake_inline_minus = fake_inline_minus;
618625
exports.fake_inline_inlie2 = fake_inline_inlie2;
626+
exports.u = u;
619627
/* fake_z2 Not a pure module */

‎jscomp/test/rec_value_test.ml

+10
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,16 @@ and fake_inline_minus n =
184184

185185

186186
let fake_inline_inlie2 = fake_inline_minus 3
187+
188+
189+
type t = { x : int * t } [@@unboxed]
190+
191+
let rec u = {x = (1,u)}
192+
193+
let () =
194+
let (!) u = snd (u.x) in
195+
assert (fst (! (! (! (!u)))).x = 1 )
196+
187197
;; Mt.from_pair_suites __MODULE__ suites
188198

189199

0 commit comments

Comments
 (0)