(input: &str)
| 10 | type Err = String; |
| 11 | |
| 12 | fn from_str(input: &str) -> Result<Self, Self::Err> { |
| 13 | const EXT_PREFIX: &str = "ext:"; |
| 14 | |
| 15 | if let Some(input) = input.strip_prefix(EXT_PREFIX) { |
| 16 | Ok(Self::Extension(Symbol::intern(input))) |
| 17 | } else { |
| 18 | Ok(Self::Capability(input.parse().map_err(|_err| { |
| 19 | format!("Invalid Capability: `{input}`") |
| 20 | })?)) |
| 21 | } |
| 22 | } |
| 23 | } |