diff --git a/core/src/macros.rs b/core/src/macros.rs index 4a5fb5dd1..9fae50887 100644 --- a/core/src/macros.rs +++ b/core/src/macros.rs @@ -29,7 +29,15 @@ macro_rules! map_vec { #[macro_export] macro_rules! try_map_vec { ($thing:expr, $mapfn:expr) => { - $thing.iter().map($mapfn).collect::, _>>()?; + try_iter_map_vec!($thing.iter(), $mapfn); + }; +} + +/// Same as try_map_vec when thing is an iterator +#[macro_export] +macro_rules! try_iter_map_vec { + ($thing:expr, $mapfn:expr) => { + $thing.map($mapfn).collect::, _>>()?; }; } diff --git a/p2p/src/msg.rs b/p2p/src/msg.rs index 38a41c5d8..2041cede9 100644 --- a/p2p/src/msg.rs +++ b/p2p/src/msg.rs @@ -551,7 +551,7 @@ impl Readable for SockAddr { port, )))) } else { - let ip = try_map_vec!([0..8], |_| reader.read_u16()); + let ip = try_iter_map_vec!(0..8, |_| reader.read_u16()); let port = reader.read_u16()?; Ok(SockAddr(SocketAddr::V6(SocketAddrV6::new( Ipv6Addr::new(ip[0], ip[1], ip[2], ip[3], ip[4], ip[5], ip[6], ip[7]),