Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
f9482d1
chore(quest): claim quest/m3/ts-unsafe/unsafecell.md
kixelated Nov 7, 2026
b31ccdb
feat(ts): translate UnsafeCell::raw_get, from_mut, replace, and the u…
kixelated Nov 7, 2026
bdcb53d
quest: finish UnsafeCell's raw accessors
kixelated Nov 7, 2026
9f0ad6b
fix(ts): take a raw_get pointer only from the call's own block, read …
kixelated Nov 7, 2026
8893ada
Merge remote-tracking branch 'origin/main' into feat/unsafecell-raw-a…
kixelated Nov 7, 2026
78fe7ad
Merge remote-tracking branch 'origin/main' into quest/m3/ts-unsafe/un…
kixelated Nov 7, 2026
7111cf4
fix(ts): write a Cell's object in place, and settle raw_get's null, s…
kixelated Nov 7, 2026
a0ebb88
Merge remote-tracking branch 'origin/main' into quest/m3/ts-unsafe/un…
kixelated Nov 7, 2026
1c11113
Merge remote-tracking branch 'origin/main' into t3/e6f082a5
kixelated Nov 7, 2026
fb8b478
fix(ts): refuse UnsafeCell::from_mut of an object a pointer is the pl…
kixelated Nov 7, 2026
c6d97cc
fix(ts): judge raw_get's pointer as get's, and refuse any from_mut of…
kixelated Nov 7, 2026
8e5d534
fix(ts): judge every origin of raw_get's pointer, and refuse lending …
kixelated Nov 7, 2026
0e6e1e0
Merge remote-tracking branch 'origin/main' into fix/unsafecell-replace
kixelated Nov 7, 2026
797323d
fix(ts): judge raw_get's known origins beside unknown ones, and keep …
kixelated Nov 7, 2026
95f8bbd
fix(ts): keep nested cells through a whole write through a raw pointer
kixelated Nov 7, 2026
b4a2580
Merge remote-tracking branch 'origin/main' into fix/unsafecell-replace
kixelated Nov 7, 2026
5407495
fix(ts): pass Box::write's statements to the shared pointer write
kixelated Nov 7, 2026
c1ef35f
fix(ts): give an uninitialized cell an rs.Cell, and copy kept values'…
kixelated Nov 7, 2026
982a9a9
fix(ts): defer raw_get's place in a cell until it is read, and copy c…
kixelated Nov 7, 2026
dfb4632
Merge origin/main; refuse raw_get of pointers of unknown origin
kixelated Nov 7, 2026
3d8d2cf
test(ts): refresh reject spans after formatting
kixelated Nov 7, 2026
e0338a8
fix(ts): follow shared raw_get origins, take's Default first, compare…
kixelated Nov 7, 2026
5c82333
fix(ts): keep nested cells through a MaybeUninit or ManuallyDrop
kixelated Nov 7, 2026
535c6af
Merge remote-tracking branch 'origin/main' into iterate/unsafecell-625
kixelated Nov 7, 2026
3cb74e2
fix(ts): refuse whole writes of a MaybeUninit or ManuallyDrop holding…
kixelated Nov 7, 2026
be3f4bf
Merge remote-tracking branch 'origin/main' into iterate/unsafecell-625-b
kixelated Nov 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion quest/m3/ts-unsafe/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,3 @@ Public API: the translator's output.
## Required

- [A raw pointer behind a reference](/quest/m3/ts-unsafe/raw-behind-ref.md) - `&raw const *r` of a value JS copies points where the reference came from
- [UnsafeCell's raw accessors](/quest/m3/ts-unsafe/unsafecell.md) - `UnsafeCell::raw_get`, `from_mut`, and `replace` translate
15 changes: 0 additions & 15 deletions quest/m3/ts-unsafe/unsafecell.md

This file was deleted.

10 changes: 5 additions & 5 deletions ts/fixtures/lang/borrows/expected/borrows.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Generated by rust2-ts. Do not edit.

import * as rs from "./rs.ts";
import { copy$Option_tuple2_u64_u64, copy$tuple2_u64_u64, drop$Result_cell_RefMut_Vec_u8_cell_BorrowMutError, drop$Result_cell_RefMut_array4_u8_cell_BorrowMutError, drop$Result_cell_RefMut_borrows_Parts_cell_BorrowMutError, drop$Result_cell_RefMut_borrows_Tagged_cell_BorrowMutError, drop$Result_cell_RefMut_tuple2_u16_Vec_u8_cell_BorrowMutError, drop$Result_cell_RefMut_u32_cell_BorrowMutError, drop$Result_cell_RefMut_u32_tuple2_cell_RefMut_borrows_Parts_unit, drop$Result_cell_Ref_Vec_u8_cell_BorrowError, drop$Result_cell_Ref_array4_u8_cell_BorrowError, drop$Result_cell_Ref_borrows_Parts_cell_BorrowError, drop$Result_cell_Ref_ref_str_tuple2_cell_Ref_tuple2_u8_ref_str_u8, drop$Result_cell_Ref_tuple2_u16_Vec_u8_cell_BorrowError, drop$Result_cell_Ref_u32_cell_BorrowError, drop$Result_cell_Ref_u32_cell_Ref_borrows_Parts, drop$Result_cell_Ref_u32_tuple2_cell_Ref_borrows_Parts_unit, drop$tuple2_Option_cell_Ref_borrows_Tagged_Option_cell_RefMut_borrows_Tagged, drop$tuple2_Result_cell_Ref_Vec_u8_cell_BorrowError_cell_Ref_Vec_u8, drop$tuple2_cell_RefMut_slice_u8_cell_RefMut_slice_u8, drop$tuple2_cell_Ref_Vec_u8_cell_Ref_u8, drop$tuple2_cell_Ref_str_cell_RefMut_u32, drop$tuple3_cell_Ref_String_cell_Ref_array4_u8_cell_Ref_u32 } from "./lib.ts";
import { copy$Option_tuple2_u64_u64, copy$tuple2_u64_u64, copy$tuple2_u8_char, drop$Result_cell_RefMut_Vec_u8_cell_BorrowMutError, drop$Result_cell_RefMut_array4_u8_cell_BorrowMutError, drop$Result_cell_RefMut_borrows_Parts_cell_BorrowMutError, drop$Result_cell_RefMut_borrows_Tagged_cell_BorrowMutError, drop$Result_cell_RefMut_tuple2_u16_Vec_u8_cell_BorrowMutError, drop$Result_cell_RefMut_u32_cell_BorrowMutError, drop$Result_cell_RefMut_u32_tuple2_cell_RefMut_borrows_Parts_unit, drop$Result_cell_Ref_Vec_u8_cell_BorrowError, drop$Result_cell_Ref_array4_u8_cell_BorrowError, drop$Result_cell_Ref_borrows_Parts_cell_BorrowError, drop$Result_cell_Ref_ref_str_tuple2_cell_Ref_tuple2_u8_ref_str_u8, drop$Result_cell_Ref_tuple2_u16_Vec_u8_cell_BorrowError, drop$Result_cell_Ref_u32_cell_BorrowError, drop$Result_cell_Ref_u32_cell_Ref_borrows_Parts, drop$Result_cell_Ref_u32_tuple2_cell_Ref_borrows_Parts_unit, drop$tuple2_Option_cell_Ref_borrows_Tagged_Option_cell_RefMut_borrows_Tagged, drop$tuple2_Result_cell_Ref_Vec_u8_cell_BorrowError_cell_Ref_Vec_u8, drop$tuple2_cell_RefMut_slice_u8_cell_RefMut_slice_u8, drop$tuple2_cell_Ref_Vec_u8_cell_Ref_u8, drop$tuple2_cell_Ref_str_cell_RefMut_u32, drop$tuple3_cell_Ref_String_cell_Ref_array4_u8_cell_Ref_u32 } from "./lib.ts";
import * as Noisy from "./borrows.Noisy.ts";
import * as Parts from "./borrows.Parts.ts";
import * as Polling from "./borrows.Polling.ts";
Expand Down Expand Up @@ -33,7 +33,7 @@ export function borrows(data: rs.ByteSlice, out: rs.ByteVec): void {
const copy: [rs.u64, rs.u64] = copy$tuple2_u64_u64(copy$tuple2_u64_u64(pair.v));
copy[0] = rs.u64Add(copy[0], op as rs.u64);
rs.byteVecPush(out, rs.u64Low(copy$tuple2_u64_u64(pair.v)[0]) & 0xff);
rs.cellSet(pair, [copy[1], copy[0]] as [rs.u64, rs.u64]);
rs.ptrWrite(pair.v, [copy[1], copy[0]] as [rs.u64, rs.u64]);
rs.byteVecPush(out, rs.u64Low(copy$tuple2_u64_u64(pair.v)[1]) & 0xff);
} else if (_25 === 2) {
rs.byteVecPush(out, rs.cellReplace(count, op as rs.u32) & 0xff);
Expand Down Expand Up @@ -1134,12 +1134,12 @@ export function printed(data: rs.ByteSlice, out: rs.ByteVec): void {
rs.refRelease(last);
rs.refMutRelease(exclusive);
} else if (_25 === 3) {
const _164: [rs.u8, rs.char] = [rs.u8WrappingAdd(pair.v[0], v), rs.u8Add(97, rs.u8Rem(v, 26)) as rs.char];
rs.cellSet(pair, _164);
const _164: [rs.u8, rs.char] = [rs.u8WrappingAdd(copy$tuple2_u8_char(pair.v)[0], v), rs.u8Add(97, rs.u8Rem(v, 26)) as rs.char];
rs.ptrWrite(pair.v, _164);
const wide: rs.Cell<rs.u64> = new rs.Cell(rs.u64Shl(v as rs.u64, 56));
const maybe: rs.Cell<rs.u8 | undefined> = new rs.Cell(thenSome$0quywni(rs.u8Rem(v, 2) === 0, v));
const _184: rs.Cell<undefined> = new rs.Cell(undefined);
const args34 = [(f: rs.Formatter) => rs.cellDebug(() => pair.v, f, (value: [rs.u8, rs.char], f: rs.Formatter) => rs.fmtTuple([(f: rs.Formatter) => rs.u8Debug(value[0], f), (f: rs.Formatter) => rs.fmtCharDebug(value[1], f)], f)), (f: rs.Formatter) => rs.cellDebug(() => wide.v, f, rs.u64Debug), (f: rs.Formatter) => rs.cellDebug(() => maybe.v, f, (value: rs.u8 | undefined, f: rs.Formatter) => rs.fmtOption(value, f, rs.u8Debug)), (f: rs.Formatter) => rs.cellDebug(() => _184.v, f, rs.fmtUnit)];
const args34 = [(f: rs.Formatter) => rs.cellDebug(() => copy$tuple2_u8_char(pair.v), f, (value: [rs.u8, rs.char], f: rs.Formatter) => rs.fmtTuple([(f: rs.Formatter) => rs.u8Debug(value[0], f), (f: rs.Formatter) => rs.fmtCharDebug(value[1], f)], f)), (f: rs.Formatter) => rs.cellDebug(() => wide.v, f, rs.u64Debug), (f: rs.Formatter) => rs.cellDebug(() => maybe.v, f, (value: rs.u8 | undefined, f: rs.Formatter) => rs.fmtOption(value, f, rs.u8Debug)), (f: rs.Formatter) => rs.cellDebug(() => _184.v, f, rs.fmtUnit)];
text = rs.fmtFormat([args34[0], " ", rs.fmtSpec({ alternate: true }, args34[0]), " ", args34[1], " ", args34[2], " ", rs.fmtSpec({ alternate: true }, args34[2]), " ", args34[3], " ", rs.fmtSpec({ align: ">", width: 3 }, args34[0])]);
} else if (_25 === 4) {
rs.cellSet(shown.cell, v);
Expand Down
4 changes: 4 additions & 0 deletions ts/fixtures/lang/borrows/expected/lib.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ export function copy$tuple2_u64_u64(v: [rs.u64, rs.u64]): [rs.u64, rs.u64] {
return [v[0], v[1]];
}

export function copy$tuple2_u8_char(v: [rs.u8, rs.char]): [rs.u8, rs.char] {
return [v[0], v[1]];
}

export function drop$Option_cell_RefMut_borrows_Tagged(_1: rs.RefCell<Tagged.Tagged> | undefined): void {
if (_1 !== undefined) {
rs.refMutRelease(_1);
Expand Down
56 changes: 28 additions & 28 deletions ts/fixtures/lang/collections/expected/collections.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4340,14 +4340,14 @@ export function cellEqs(kind: rs.u8, data: rs.ByteSlice, out: rs.ByteVec): void
const _23: [rs.Cell<Quirky.Quirky>, rs.Cell<Quirky.Quirky>] = [new rs.Cell(copy$collections_Quirky(x)), new rs.Cell(copy$collections_Quirky(y))];
const ca: rs.Cell<Quirky.Quirky> = _23[0];
const cb: rs.Cell<Quirky.Quirky> = _23[1];
putEq(rs.cellBy(Quirky.eq$cmp_PartialEq)(ca, cb), log, out);
putEq(!rs.cellBy(Quirky.eq$cmp_PartialEq)(ca, cb), log, out);
putEq(rs.cellBy(Quirky.lt$cmp_PartialOrd)(ca, cb), log, out);
putEq(rs.cellBy(Quirky.le$cmp_PartialOrd)(ca, cb), log, out);
putEq(rs.cellBy(Quirky.gt$cmp_PartialOrd)(ca, cb), log, out);
putEq(rs.cellBy(Quirky.ge$cmp_PartialOrd)(ca, cb), log, out);
putOrder(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd)(ca, cb), log, out);
putCmp(rs.cellBy(Quirky.cmp$cmp_Ord)(ca, cb), log, out);
putEq(rs.cellBy(Quirky.eq$cmp_PartialEq, copy$collections_Quirky)(ca, cb), log, out);
putEq(!rs.cellBy(Quirky.eq$cmp_PartialEq, copy$collections_Quirky)(ca, cb), log, out);
putEq(rs.cellBy(Quirky.lt$cmp_PartialOrd, copy$collections_Quirky)(ca, cb), log, out);
putEq(rs.cellBy(Quirky.le$cmp_PartialOrd, copy$collections_Quirky)(ca, cb), log, out);
putEq(rs.cellBy(Quirky.gt$cmp_PartialOrd, copy$collections_Quirky)(ca, cb), log, out);
putEq(rs.cellBy(Quirky.ge$cmp_PartialOrd, copy$collections_Quirky)(ca, cb), log, out);
putOrder(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd, copy$collections_Quirky)(ca, cb), log, out);
putCmp(rs.cellBy(Quirky.cmp$cmp_Ord, copy$collections_Quirky)(ca, cb), log, out);
const _68: [rs.RefCell<Quirky.Quirky>, rs.RefCell<Quirky.Quirky>] = [new rs.RefCell(copy$collections_Quirky(x)), new rs.RefCell(copy$collections_Quirky(y))];
const ra: rs.RefCell<Quirky.Quirky> = _68[0];
const rb: rs.RefCell<Quirky.Quirky> = _68[1];
Expand Down Expand Up @@ -4434,40 +4434,40 @@ export function cellEqs(kind: rs.u8, data: rs.ByteSlice, out: rs.ByteVec): void
const _404: [rs.RefCell<rs.Cell<Quirky.Quirky>>, rs.RefCell<rs.Cell<Quirky.Quirky>>] = [new rs.RefCell(new rs.Cell(copy$collections_Quirky(x))), new rs.RefCell(new rs.Cell(copy$collections_Quirky(y)))];
const rca: rs.RefCell<rs.Cell<Quirky.Quirky>> = _404[0];
const rcb: rs.RefCell<rs.Cell<Quirky.Quirky>> = _404[1];
putEq(rs.refCellBy(rs.cellBy(Quirky.eq$cmp_PartialEq))(rca, rcb), log, out);
putEq(!rs.refCellBy(rs.cellBy(Quirky.eq$cmp_PartialEq))(rca, rcb), log, out);
putEq(rs.refCellBy(rs.cellBy(Quirky.lt$cmp_PartialOrd))(rca, rcb), log, out);
putEq(rs.refCellBy(rs.cellBy(Quirky.le$cmp_PartialOrd))(rca, rcb), log, out);
putEq(rs.refCellBy(rs.cellBy(Quirky.gt$cmp_PartialOrd))(rca, rcb), log, out);
putEq(rs.refCellBy(rs.cellBy(Quirky.ge$cmp_PartialOrd))(rca, rcb), log, out);
putOrder(rs.refCellBy(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd))(rca, rcb), log, out);
putCmp(rs.refCellBy(rs.cellBy(Quirky.cmp$cmp_Ord))(rca, rcb), log, out);
putEq(rs.refCellBy(rs.cellBy(Quirky.eq$cmp_PartialEq, copy$collections_Quirky))(rca, rcb), log, out);
putEq(!rs.refCellBy(rs.cellBy(Quirky.eq$cmp_PartialEq, copy$collections_Quirky))(rca, rcb), log, out);
putEq(rs.refCellBy(rs.cellBy(Quirky.lt$cmp_PartialOrd, copy$collections_Quirky))(rca, rcb), log, out);
putEq(rs.refCellBy(rs.cellBy(Quirky.le$cmp_PartialOrd, copy$collections_Quirky))(rca, rcb), log, out);
putEq(rs.refCellBy(rs.cellBy(Quirky.gt$cmp_PartialOrd, copy$collections_Quirky))(rca, rcb), log, out);
putEq(rs.refCellBy(rs.cellBy(Quirky.ge$cmp_PartialOrd, copy$collections_Quirky))(rca, rcb), log, out);
putOrder(rs.refCellBy(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd, copy$collections_Quirky))(rca, rcb), log, out);
putCmp(rs.refCellBy(rs.cellBy(Quirky.cmp$cmp_Ord, copy$collections_Quirky))(rca, rcb), log, out);
const _452: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(x));
const _455: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(y));
putEq(rs.eqOption(rs.cellBy(Quirky.eq$cmp_PartialEq))(_452, _455), log, out);
putEq(rs.eqOption(rs.cellBy(Quirky.eq$cmp_PartialEq, copy$collections_Quirky))(_452, _455), log, out);
const _461: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(x));
const _464: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(y));
putEq(!rs.eqOption(rs.cellBy(Quirky.eq$cmp_PartialEq))(_461, _464), log, out);
putEq(!rs.eqOption(rs.cellBy(Quirky.eq$cmp_PartialEq, copy$collections_Quirky))(_461, _464), log, out);
const _470: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(x));
const _473: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(y));
putEq(rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd))(_470, _473) === -1, log, out);
putEq(rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd, copy$collections_Quirky))(_470, _473) === -1, log, out);
const _479: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(x));
const _482: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(y));
const order7 = rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd))(_479, _482);
const order7 = rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd, copy$collections_Quirky))(_479, _482);
putEq(order7 !== undefined && order7 <= 0, log, out);
const _488: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(x));
const _491: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(y));
putEq(rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd))(_488, _491) === 1, log, out);
putEq(rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd, copy$collections_Quirky))(_488, _491) === 1, log, out);
const _497: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(x));
const _500: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(y));
const order8 = rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd))(_497, _500);
const order8 = rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd, copy$collections_Quirky))(_497, _500);
putEq(order8 !== undefined && order8 >= 0, log, out);
const _506: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(x));
const _509: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(y));
putOrder(rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd))(_506, _509), log, out);
putOrder(rs.cmpOption(rs.cellBy(Quirky.partialCmp$cmp_PartialOrd, copy$collections_Quirky))(_506, _509), log, out);
const _515: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(x));
const _518: rs.Cell<Quirky.Quirky> | undefined = new rs.Cell(copy$collections_Quirky(y));
putCmp(rs.cmpOption(rs.cellBy(Quirky.cmp$cmp_Ord))(_515, _518), log, out);
putCmp(rs.cmpOption(rs.cellBy(Quirky.cmp$cmp_Ord, copy$collections_Quirky))(_515, _518), log, out);
const _524: [rs.RefCell<Quirky.Quirky>, Quirky.Quirky] = [new rs.RefCell(copy$collections_Quirky(x)), x];
const _527: [rs.RefCell<Quirky.Quirky>, Quirky.Quirky] = [new rs.RefCell(copy$collections_Quirky(y)), y];
putEq(rs.eqTuple([rs.refCellBy(Quirky.eq$cmp_PartialEq), Quirky.eq$cmp_PartialEq])(_524, _527), log, out);
Expand Down Expand Up @@ -4513,7 +4513,7 @@ export function cellEqs(kind: rs.u8, data: rs.ByteSlice, out: rs.ByteVec): void
const _629: rs.Vec<rs.Cell<Quirky.Quirky>> = each$collections_Quirky_Cell_collections_Quirky_collections_cell_eqs_closure3(rs.sliceFrom(vb.items), (_22: Quirky.Quirky): rs.Cell<Quirky.Quirky> => {
return new rs.Cell(copy$collections_Quirky(copy$collections_Quirky(_22)));
});
putEq(rs.eqSlice(rs.cellBy(Quirky.eq$cmp_PartialEq))(_625, _629), log, out);
putEq(rs.eqSlice(rs.cellBy(Quirky.eq$cmp_PartialEq, copy$collections_Quirky))(_625, _629), log, out);
const _636: rs.Vec<rs.RefCell<Quirky.Quirky>> = each$collections_Quirky_cell_RefCell_collections_Quirky_collections_cell_eqs_closure4(rs.sliceFrom(va.items), (_26: Quirky.Quirky): rs.RefCell<Quirky.Quirky> => {
return new rs.RefCell(copy$collections_Quirky(copy$collections_Quirky(_26)));
});
Expand All @@ -4523,13 +4523,13 @@ export function cellEqs(kind: rs.u8, data: rs.ByteSlice, out: rs.ByteVec): void
putEq(!rs.eqSlice(rs.refCellBy(Quirky.eq$cmp_PartialEq))(_636, _640), log, out);
const _647: [rs.Cell<Quirky.Quirky>, rs.RefCell<Quirky.Quirky>] = [new rs.Cell(copy$collections_Quirky(x)), new rs.RefCell(copy$collections_Quirky(y))];
const _651: [rs.Cell<Quirky.Quirky>, rs.RefCell<Quirky.Quirky>] = [new rs.Cell(copy$collections_Quirky(y)), new rs.RefCell(copy$collections_Quirky(x))];
putEq(!rs.eqTuple([rs.cellBy(Quirky.eq$cmp_PartialEq), rs.refCellBy(Quirky.eq$cmp_PartialEq)])(_647, _651), log, out);
putEq(!rs.eqTuple([rs.cellBy(Quirky.eq$cmp_PartialEq, copy$collections_Quirky), rs.refCellBy(Quirky.eq$cmp_PartialEq)])(_647, _651), log, out);
const _658: rs.Arc<rs.RefCell<Quirky.Quirky>> = new rs.Arc(new rs.RefCell(copy$collections_Quirky(x)));
const _661: rs.Arc<rs.RefCell<Quirky.Quirky>> = new rs.Arc(new rs.RefCell(copy$collections_Quirky(y)));
putEq(!rs.eqArc(rs.refCellBy(Quirky.eq$cmp_PartialEq), true)(_658, _661), log, out);
_661[Symbol.dispose]();
_658[Symbol.dispose]();
putEq(copy$collections_Quirky(rs.ordMax(new rs.Cell(copy$collections_Quirky(x)), new rs.Cell(copy$collections_Quirky(y)), rs.cellBy(Quirky.lt$cmp_PartialOrd)).v)._0 === x._0, log, out);
putEq(copy$collections_Quirky(rs.ordMax(new rs.Cell(copy$collections_Quirky(x)), new rs.Cell(copy$collections_Quirky(y)), rs.cellBy(Quirky.lt$cmp_PartialOrd, copy$collections_Quirky)).v)._0 === x._0, log, out);
const _679: rs.RefCell<Quirky.Quirky> = rs.refCellBorrow(rs.ordMin(new rs.RefCell(copy$collections_Quirky(x)), new rs.RefCell(copy$collections_Quirky(y)), rs.refCellBy(Quirky.lt$cmp_PartialOrd)));
putEq(_679.value._0 === x._0, log, out);
rs.refRelease(_679);
Expand All @@ -4540,7 +4540,7 @@ export function cellEqs(kind: rs.u8, data: rs.ByteSlice, out: rs.ByteVec): void
}
const lo: Quirky.Quirky = _688[0];
const hi: Quirky.Quirky = _688[1];
rs.byteVecPush(out, copy$collections_Quirky(rs.ordClamp(new rs.Cell({ _0: at(2), _1: log }), new rs.Cell(copy$collections_Quirky(lo)), new rs.Cell(copy$collections_Quirky(hi)), rs.cellBy(Quirky.le$cmp_PartialOrd), rs.cellBy(Quirky.lt$cmp_PartialOrd), rs.cellBy(Quirky.gt$cmp_PartialOrd)).v)._0 & 0xff);
rs.byteVecPush(out, copy$collections_Quirky(rs.ordClamp(new rs.Cell({ _0: at(2), _1: log }), new rs.Cell(copy$collections_Quirky(lo)), new rs.Cell(copy$collections_Quirky(hi)), rs.cellBy(Quirky.le$cmp_PartialOrd, copy$collections_Quirky), rs.cellBy(Quirky.lt$cmp_PartialOrd, copy$collections_Quirky), rs.cellBy(Quirky.gt$cmp_PartialOrd, copy$collections_Quirky)).v)._0 & 0xff);
rs.iterExtendBytes(out, rs.iterSlice(rs.u16ToBeBytes(rs.cellReplace(log, 0)).reverse()), undefined, true);
const once: (a0: rs.usize, a1: Quirky.Quirky) => rs.OnceCell<Quirky.Quirky> = (i3: rs.usize, v: Quirky.Quirky): rs.OnceCell<Quirky.Quirky> => {
const cell: rs.OnceCell<Quirky.Quirky> = new rs.OnceCell(undefined);
Expand Down
Loading