#[path="support/slot_pool.rs"] mod slot_pool; fn main() { use slot_pool::SlotPool; struct Item { id: i32, weight: f32 } let mut pool: SlotPool = SlotPool::new(); let s0 = pool.alloc(Item { id: 10, weight: 1.0 }); let s1 = pool.alloc(Item { id: 11, weight: 1.0 }); pool.free(s0); let s2 = pool.alloc(Item { id: 12, weight: 2.0 }); assert_eq!(s2,s0);assert_eq!(pool.items.len(),2);assert_eq!((pool.items[s0].id,pool.items[s0].weight),(12,2.0));assert_eq!(pool.items[s1].id,11); }