def release_checked
bendvy-ecs-core@0.1.0.3 · entity_allocator.bend:80
import bendvy-ecs-core@0.1.0.3/entity_allocator.bend as EntityAllocator
import Base
import entity_key.bend as K
80def release_checked(+key:K.Key,observed:Allocator & Bool) -> Allocator:
81 match observed:
82 case (allocator,False{}):allocator
83 case (Allocator{next,high,slots,capacity,depth,free,order},True{}):Allocator{next,high,Array.set(Slot,slots,K.index(key),Slot{(K.generation(key) + 1 : U32),Free{}}),capacity,depth,K.index(key) <> free,without(order,key)}