The Slice is not backed by a MultiArrayList, so calling deinit or toMultiArrayList is illegal.
pub fn list(t: *TokenSmith) TokenList.Slice
pub fn list(t: *TokenSmith) TokenList.Slice {
var slice: TokenList.Slice = .{
.ptrs = undefined,
.len = t.tags_len,
.capacity = t.tags_len,
};
comptime std.debug.assert(slice.ptrs.len == 2);
slice.ptrs[@backingInt(TokenList.Field.tag)] = @ptrCast(&t.tag_buf);
slice.ptrs[@backingInt(TokenList.Field.start)] = @ptrCast(&t.start_buf);
return slice;
}