diff options
-rw-r--r-- | src/rust/protover/protover.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/rust/protover/protover.rs b/src/rust/protover/protover.rs index 60bdc9d833..5e281a3e92 100644 --- a/src/rust/protover/protover.rs +++ b/src/rust/protover/protover.rs @@ -99,13 +99,17 @@ pub fn get_supported_protocols() -> String { } /// Translates a vector representation of a protocol list into a HashMap -fn parse_protocols<'a, P: Iterator<Item = &'a str>>( +fn parse_protocols<P, S>( protocols: P, -) -> Result<HashMap<Proto, HashSet<u32>>, &'static str> { +) -> Result<HashMap<Proto, HashSet<u32>>, &'static str> +where + P: Iterator<Item = S>, + S: AsRef<str>, +{ let mut parsed = HashMap::new(); for subproto in protocols { - let (name, version) = get_proto_and_vers(subproto)?; + let (name, version) = get_proto_and_vers(subproto.as_ref())?; parsed.insert(name, version); } Ok(parsed) @@ -130,7 +134,7 @@ fn parse_protocols_from_string<'a>( /// of the error. /// fn tor_supported() -> Result<HashMap<Proto, HashSet<u32>>, &'static str> { - parse_protocols(SUPPORTED_PROTOCOLS.iter().map(|n| *n)) + parse_protocols(SUPPORTED_PROTOCOLS.iter()) } /// Get the unique version numbers supported by a subprotocol. |