(value: &str, choices: &[&str])
| 229 | } |
| 230 | |
| 231 | fn parse_enum_value(value: &str, choices: &[&str]) -> SetResult<u8> { |
| 232 | match choices.iter().position(|&tag| tag == value) { |
| 233 | Some(idx) => Ok(idx as u8), |
| 234 | None => Err(SetError::BadValue(format!( |
| 235 | "any among {}", |
| 236 | choices.join(", ") |
| 237 | ))), |
| 238 | } |
| 239 | } |
| 240 | |
| 241 | impl Configurable for Builder { |
| 242 | fn enable(&mut self, name: &str) -> SetResult<()> { |