test(conformance): Option equality over ArrayList, RingList and Buffer #385
Loading…
Reference in a new issue
No description provided.
Delete branch "loop/381-option-equality-concrete-list"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #381
What
Option<T> == Option<T>over a concrete list type (ArrayList,RingList,Buffer) stopped with an internal error on thenightly-20261015toolchain: the wrapperboxedReceiverOfbuilds for theEqualsofListboxedselfbut leftotheras the trait value, so the derivedequalsofOptionhanded it aRecordwhere it wantedObject(List<Int64>)(confirmed withtorb iron that toolchain).3bde36d0(refactor(stream): Bytes is Buffer<UInt8>, after the nightly) already madeboxedReceiverOfbox every parameter that isSelfof the trait, and the derivedequalsofOptiontakes that same path (fieldEquality->memberOfType->memberFunctionOf->boxedReceiverOf). A first CI run of this program onmainconfirms it: output matches in native and VM, no lowering change is needed. So the second planned commit (a lowering fix) is not part of this PR; it would be empty.Change
test(conformance): Option equality over ArrayList, RingList and Buffer:tests/conformance/option-list-equality.trbwith.expectedand.allocations(105 blocks, read from the first CI run);==,!=, a different payload andNonefor each of the three types. Conformance runs every program in the VM and natively.Test
Forge CI of this PR (tier A and B). The earlier run on the previous push: every lane green except the allocation budget placeholder, which this push sets.
2b5b879ddc4cea9a80334cea9a8033dc077652a0Checklist (head
dc07765):.expectedagainst the program by hand and they match. Tier A, bootstrap, gates and pdisc are green on this head.==,!=, a different payload andNonefor ArrayList, RingList and Buffer, the cases from #381. The PR body explains why no lowering change is needed (3bde36d0already boxes everySelfparameter inboxedReceiverOf), and the green native and VM runs back that up..expectedand.allocations, nothing else. The.allocationsvalue (105) comes from CI, not a placeholder.Non-blocking: #381 asked for a lowering fix commit, and the PR body says it is not needed, so there is nothing left to do on that point.