Currently, slab has pointer if any of its element is SlabIDStorable. This will become an issue with register inlining because even though inlined slab is not SlabIDStorable, it can contain SlabIDStorable.
This PR:
adds containerStorable interface with hasPointer function
delegates each storable to check itself recursively
removes keyPointer and valuePointer fields from singleElement struct to simplify code.
[x] Targeted PR against main branch
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
Updates #292
Description
Currently, slab has pointer if any of its element is
SlabIDStorable
. This will become an issue with register inlining because even though inlined slab is notSlabIDStorable
, it can containSlabIDStorable
.This PR:
containerStorable
interface withhasPointer
functionkeyPointer
andvaluePointer
fields fromsingleElement
struct to simplify code.main
branchFiles changed
in the Github PR explorer