()
| 170 | // ============================================================ |
| 171 | |
| 172 | pub fn create() -> u32 { |
| 173 | with(|inner| { |
| 174 | // Reuse a freed slot if one exists. |
| 175 | for (i, slot) in inner.nodes.iter_mut().enumerate().skip(1) { |
| 176 | if slot.is_none() { |
| 177 | *slot = Some(Node::empty()); |
| 178 | return i as u32; |
| 179 | } |
| 180 | } |
| 181 | inner.nodes.push(Some(Node::empty())); |
| 182 | (inner.nodes.len() - 1) as u32 |
| 183 | }) |
| 184 | } |
| 185 | |
| 186 | pub fn destroy(handle: u32) { |
| 187 | with(|inner| { |
no test coverage detected