Append a new entry. The key must not already be present: call sites only insert on a confirmed miss, and a same-key re-entrant call would loop forever before reaching its own insert.
(&mut self, key: &[G], output: &[G], multiplicity: G)
| 112 | |
| 113 | #[cfg(target_os = "linux")] |
| 114 | #[inline] |
| 115 | fn slice(&self, start: usize, len: usize) -> &[T] { |
| 116 | debug_assert!(start + len <= self.len); |
| 117 | unsafe { std::slice::from_raw_parts(self.ptr.add(start), len) } |
| 118 | } |
| 119 | |
| 120 | #[cfg(not(target_os = "linux"))] |
| 121 | #[inline] |
| 122 | fn slice(&self, start: usize, len: usize) -> &[T] { |
| 123 | &self.inner[start..start + len] |
| 124 | } |
| 125 | |
| 126 | #[cfg(target_os = "linux")] |
| 127 | #[inline] |
| 128 | fn slice_mut(&mut self, start: usize, len: usize) -> &mut [T] { |
| 129 | debug_assert!(start + len <= self.len); |
| 130 | unsafe { std::slice::from_raw_parts_mut(self.ptr.add(start), len) } |
| 131 | } |
| 132 | |
| 133 | #[cfg(not(target_os = "linux"))] |
| 134 | #[inline] |
| 135 | fn slice_mut(&mut self, start: usize, len: usize) -> &mut [T] { |
| 136 | &mut self.inner[start..start + len] |
no test coverage detected