[fixup] this might be an improvement?

This commit is contained in:
Corey Farwell 2017-12-28 18:17:45 -08:00
parent 8ba5805bae
commit 2529319f68

View File

@ -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.