xo-gc: bugfixes for GCObjectStore, unit test exapnded

In particular: drop casual assignment to DList.rest_,
will break acyclic assumption of DList.size()
This commit is contained in:
Roland Conybeare 2026-04-11 16:51:52 -04:00
commit d0cb7437de
10 changed files with 374 additions and 344 deletions

View file

@ -182,7 +182,9 @@ namespace xo {
= DList::_cons(p_psm->expr_alloc(), lit, DList::_nil());
if (this->end_) {
end_->assign_rest(new_last);
/* DExpectQListSsm owns {start_, end_} -> preserves acyclic property */
end_->_assign_rest(new_last);
this->end_ = new_last;
} else {