(&mut self, s: &str)
| 241 | } |
| 242 | |
| 243 | fn insert(&mut self, s: &str) -> i64 { |
| 244 | if let Some(idx) = self.0.get(s) { |
| 245 | *idx |
| 246 | } else { |
| 247 | let idx = i64::try_from(self.0.len()).expect("must fit"); |
| 248 | self.0.insert(s.into(), idx); |
| 249 | idx |
| 250 | } |
| 251 | } |
| 252 | |
| 253 | fn finish(self) -> Vec<String> { |
| 254 | let mut vec: Vec<_> = self.0.into_iter().collect(); |