diff options
| author | bors <bors@rust-lang.org> | 2019-11-30 12:42:44 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-11-30 12:42:44 +0000 |
| commit | d8bdb3fdcbd88eb16e1a6669236122c41ed2aed3 (patch) | |
| tree | 33974ee0e3d5976f284b056e03e6ef529d15e563 /src/libstd/net | |
| parent | 8f1bbd69e13c9e04a4c2b75612bc0c31af972439 (diff) | |
| parent | b14d9c21203ea79035bf4a8a8a68ad34658a265f (diff) | |
| download | rust-d8bdb3fdcbd88eb16e1a6669236122c41ed2aed3.tar.gz rust-d8bdb3fdcbd88eb16e1a6669236122c41ed2aed3.zip | |
Auto merge of #66887 - dtolnay:rollup-uxowp8d, r=Centril
Rollup of 4 pull requests Successful merges: - #66818 (Format libstd/os with rustfmt) - #66819 (Format libstd/sys with rustfmt) - #66820 (Format libstd with rustfmt) - #66847 (Allow any identifier as format arg name) Failed merges: r? @ghost
Diffstat (limited to 'src/libstd/net')
| -rw-r--r-- | src/libstd/net/addr.rs | 91 | ||||
| -rw-r--r-- | src/libstd/net/parser.rs | 75 | ||||
| -rw-r--r-- | src/libstd/net/tcp.rs | 239 | ||||
| -rw-r--r-- | src/libstd/net/test.rs | 29 | ||||
| -rw-r--r-- | src/libstd/net/udp.rs | 72 |
5 files changed, 294 insertions, 212 deletions
diff --git a/src/libstd/net/addr.rs b/src/libstd/net/addr.rs index f9255b82fc8..d5f4ece726b 100644 --- a/src/libstd/net/addr.rs +++ b/src/libstd/net/addr.rs @@ -1,16 +1,16 @@ +use crate::convert::TryInto; use crate::fmt; use crate::hash; use crate::io; +use crate::iter; use crate::mem; -use crate::net::{ntoh, hton, IpAddr, Ipv4Addr, Ipv6Addr}; +use crate::net::{hton, ntoh, IpAddr, Ipv4Addr, Ipv6Addr}; use crate::option; +use crate::slice; use crate::sys::net::netc as c; -use crate::sys_common::{FromInner, AsInner, IntoInner}; use crate::sys_common::net::LookupHost; +use crate::sys_common::{AsInner, FromInner, IntoInner}; use crate::vec; -use crate::iter; -use crate::slice; -use crate::convert::TryInto; /// An internet socket address, either IPv4 or IPv6. /// @@ -74,7 +74,9 @@ pub enum SocketAddr { /// ``` #[derive(Copy)] #[stable(feature = "rust1", since = "1.0.0")] -pub struct SocketAddrV4 { inner: c::sockaddr_in } +pub struct SocketAddrV4 { + inner: c::sockaddr_in, +} /// An IPv6 socket address. /// @@ -104,7 +106,9 @@ pub struct SocketAddrV4 { inner: c::sockaddr_in } /// ``` #[derive(Copy)] #[stable(feature = "rust1", since = "1.0.0")] -pub struct SocketAddrV6 { inner: c::sockaddr_in6 } +pub struct SocketAddrV6 { + inner: c::sockaddr_in6, +} impl SocketAddr { /// Creates a new socket address from an [IP address] and a port number. @@ -274,7 +278,7 @@ impl SocketAddrV4 { sin_family: c::AF_INET as c::sa_family_t, sin_port: hton(port), sin_addr: *ip.as_inner(), - .. unsafe { mem::zeroed() } + ..unsafe { mem::zeroed() } }, } } @@ -291,9 +295,7 @@ impl SocketAddrV4 { /// ``` #[stable(feature = "rust1", since = "1.0.0")] pub fn ip(&self) -> &Ipv4Addr { - unsafe { - &*(&self.inner.sin_addr as *const c::in_addr as *const Ipv4Addr) - } + unsafe { &*(&self.inner.sin_addr as *const c::in_addr as *const Ipv4Addr) } } /// Changes the IP address associated with this socket address. @@ -362,8 +364,7 @@ impl SocketAddrV6 { /// let socket = SocketAddrV6::new(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1), 8080, 0, 0); /// ``` #[stable(feature = "rust1", since = "1.0.0")] - pub fn new(ip: Ipv6Addr, port: u16, flowinfo: u32, scope_id: u32) - -> SocketAddrV6 { + pub fn new(ip: Ipv6Addr, port: u16, flowinfo: u32, scope_id: u32) -> SocketAddrV6 { SocketAddrV6 { inner: c::sockaddr_in6 { sin6_family: c::AF_INET6 as c::sa_family_t, @@ -371,7 +372,7 @@ impl SocketAddrV6 { sin6_addr: *ip.as_inner(), sin6_flowinfo: flowinfo, sin6_scope_id: scope_id, - .. unsafe { mem::zeroed() } + ..unsafe { mem::zeroed() } }, } } @@ -388,9 +389,7 @@ impl SocketAddrV6 { /// ``` #[stable(feature = "rust1", since = "1.0.0")] pub fn ip(&self) -> &Ipv6Addr { - unsafe { - &*(&self.inner.sin6_addr as *const c::in6_addr as *const Ipv6Addr) - } + unsafe { &*(&self.inner.sin6_addr as *const c::in6_addr as *const Ipv6Addr) } } /// Changes the IP address associated with this socket address. @@ -633,27 +632,31 @@ impl fmt::Debug for SocketAddrV6 { #[stable(feature = "rust1", since = "1.0.0")] impl Clone for SocketAddrV4 { - fn clone(&self) -> SocketAddrV4 { *self } + fn clone(&self) -> SocketAddrV4 { + *self + } } #[stable(feature = "rust1", since = "1.0.0")] impl Clone for SocketAddrV6 { - fn clone(&self) -> SocketAddrV6 { *self } + fn clone(&self) -> SocketAddrV6 { + *self + } } #[stable(feature = "rust1", since = "1.0.0")] impl PartialEq for SocketAddrV4 { fn eq(&self, other: &SocketAddrV4) -> bool { - self.inner.sin_port == other.inner.sin_port && - self.inner.sin_addr.s_addr == other.inner.sin_addr.s_addr + self.inner.sin_port == other.inner.sin_port + && self.inner.sin_addr.s_addr == other.inner.sin_addr.s_addr } } #[stable(feature = "rust1", since = "1.0.0")] impl PartialEq for SocketAddrV6 { fn eq(&self, other: &SocketAddrV6) -> bool { - self.inner.sin6_port == other.inner.sin6_port && - self.inner.sin6_addr.s6_addr == other.inner.sin6_addr.s6_addr && - self.inner.sin6_flowinfo == other.inner.sin6_flowinfo && - self.inner.sin6_scope_id == other.inner.sin6_scope_id + self.inner.sin6_port == other.inner.sin6_port + && self.inner.sin6_addr.s6_addr == other.inner.sin6_addr.s6_addr + && self.inner.sin6_flowinfo == other.inner.sin6_flowinfo + && self.inner.sin6_scope_id == other.inner.sin6_scope_id } } #[stable(feature = "rust1", since = "1.0.0")] @@ -670,8 +673,13 @@ impl hash::Hash for SocketAddrV4 { #[stable(feature = "rust1", since = "1.0.0")] impl hash::Hash for SocketAddrV6 { fn hash<H: hash::Hasher>(&self, s: &mut H) { - (self.inner.sin6_port, &self.inner.sin6_addr.s6_addr, - self.inner.sin6_flowinfo, self.inner.sin6_scope_id).hash(s) + ( + self.inner.sin6_port, + &self.inner.sin6_addr.s6_addr, + self.inner.sin6_flowinfo, + self.inner.sin6_scope_id, + ) + .hash(s) } } @@ -795,7 +803,7 @@ pub trait ToSocketAddrs { /// Returned iterator over socket addresses which this type may correspond /// to. #[stable(feature = "rust1", since = "1.0.0")] - type Iter: Iterator<Item=SocketAddr>; + type Iter: Iterator<Item = SocketAddr>; /// Converts this object to an iterator of resolved `SocketAddr`s. /// @@ -864,7 +872,12 @@ impl ToSocketAddrs for (Ipv6Addr, u16) { fn resolve_socket_addr(lh: LookupHost) -> io::Result<vec::IntoIter<SocketAddr>> { let p = lh.port(); - let v: Vec<_> = lh.map(|mut a| { a.set_port(p); a }).collect(); + let v: Vec<_> = lh + .map(|mut a| { + a.set_port(p); + a + }) + .collect(); Ok(v.into_iter()) } @@ -877,11 +890,11 @@ impl ToSocketAddrs for (&str, u16) { // try to parse the host as a regular IP address first if let Ok(addr) = host.parse::<Ipv4Addr>() { let addr = SocketAddrV4::new(addr, port); - return Ok(vec![SocketAddr::V4(addr)].into_iter()) + return Ok(vec![SocketAddr::V4(addr)].into_iter()); } if let Ok(addr) = host.parse::<Ipv6Addr>() { let addr = SocketAddrV6::new(addr, port, 0, 0); - return Ok(vec![SocketAddr::V6(addr)].into_iter()) + return Ok(vec![SocketAddr::V6(addr)].into_iter()); } resolve_socket_addr((host, port).try_into()?) @@ -929,8 +942,8 @@ impl ToSocketAddrs for String { #[cfg(all(test, not(target_os = "emscripten")))] mod tests { + use crate::net::test::{sa4, sa6, tsa}; use crate::net::*; - use crate::net::test::{tsa, sa6, sa4}; #[test] fn to_socket_addr_ipaddr_u16() { @@ -991,8 +1004,12 @@ mod tests { #[test] fn set_ip() { - fn ip4(low: u8) -> Ipv4Addr { Ipv4Addr::new(77, 88, 21, low) } - fn ip6(low: u16) -> Ipv6Addr { Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, low) } + fn ip4(low: u8) -> Ipv4Addr { + Ipv4Addr::new(77, 88, 21, low) + } + fn ip6(low: u16) -> Ipv6Addr { + Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, low) + } let mut v4 = SocketAddrV4::new(ip4(11), 80); assert_eq!(v4.ip(), &ip4(11)); @@ -1068,7 +1085,11 @@ mod tests { #[test] fn is_v6() { let v6 = SocketAddr::V6(SocketAddrV6::new( - Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, 1), 80, 10, 0)); + Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, 1), + 80, + 10, + 0, + )); assert!(!v6.is_ipv4()); assert!(v6.is_ipv6()); } diff --git a/src/libstd/net/parser.rs b/src/libstd/net/parser.rs index 5a76139530a..8106d1c3315 100644 --- a/src/libstd/net/parser.rs +++ b/src/libstd/net/parser.rs @@ -16,10 +16,7 @@ struct Parser<'a> { impl<'a> Parser<'a> { fn new(s: &'a str) -> Parser<'a> { - Parser { - s: s.as_bytes(), - pos: 0, - } + Parser { s: s.as_bytes(), pos: 0 } } fn is_eof(&self) -> bool { @@ -27,7 +24,8 @@ impl<'a> Parser<'a> { } // Commit only if parser returns Some - fn read_atomically<T, F>(&mut self, cb: F) -> Option<T> where + fn read_atomically<T, F>(&mut self, cb: F) -> Option<T> + where F: FnOnce(&mut Parser<'_>) -> Option<T>, { let pos = self.pos; @@ -39,17 +37,18 @@ impl<'a> Parser<'a> { } // Commit only if parser read till EOF - fn read_till_eof<T, F>(&mut self, cb: F) -> Option<T> where + fn read_till_eof<T, F>(&mut self, cb: F) -> Option<T> + where F: FnOnce(&mut Parser<'_>) -> Option<T>, { - self.read_atomically(move |p| { - cb(p).filter(|_| p.is_eof()) - }) + self.read_atomically(move |p| cb(p).filter(|_| p.is_eof())) } // Return result of first successful parser - fn read_or<T>(&mut self, parsers: &mut [Box<dyn FnMut(&mut Parser<'_>) -> Option<T> + 'static>]) - -> Option<T> { + fn read_or<T>( + &mut self, + parsers: &mut [Box<dyn FnMut(&mut Parser<'_>) -> Option<T> + 'static>], + ) -> Option<T> { for pf in parsers { if let Some(r) = self.read_atomically(|p: &mut Parser<'_>| pf(p)) { return Some(r); @@ -59,11 +58,8 @@ impl<'a> Parser<'a> { } // Apply 3 parsers sequentially - fn read_seq_3<A, B, C, PA, PB, PC>(&mut self, - pa: PA, - pb: PB, - pc: PC) - -> Option<(A, B, C)> where + fn read_seq_3<A, B, C, PA, PB, PC>(&mut self, pa: PA, pb: PB, pc: PC) -> Option<(A, B, C)> + where PA: FnOnce(&mut Parser<'_>) -> Option<A>, PB: FnOnce(&mut Parser<'_>) -> Option<B>, PC: FnOnce(&mut Parser<'_>) -> Option<C>, @@ -74,7 +70,7 @@ impl<'a> Parser<'a> { let c = if b.is_some() { pc(p) } else { None }; match (a, b, c) { (Some(a), Some(b), Some(c)) => Some((a, b, c)), - _ => None + _ => None, } }) } @@ -92,11 +88,9 @@ impl<'a> Parser<'a> { // Return char and advance iff next char is equal to requested fn read_given_char(&mut self, c: char) -> Option<char> { - self.read_atomically(|p| { - match p.read_char() { - Some(next) if next == c => Some(next), - _ => None, - } + self.read_atomically(|p| match p.read_char() { + Some(next) if next == c => Some(next), + _ => None, }) } @@ -116,9 +110,7 @@ impl<'a> Parser<'a> { } } - self.read_atomically(|p| { - p.read_char().and_then(|c| parse_digit(c, radix)) - }) + self.read_atomically(|p| p.read_char().and_then(|c| parse_digit(c, radix))) } fn read_number_impl(&mut self, radix: u8, max_digits: u32, upto: u32) -> Option<u32> { @@ -130,14 +122,14 @@ impl<'a> Parser<'a> { r = r * (radix as u32) + (d as u32); digit_count += 1; if digit_count > max_digits || r >= upto { - return None + return None; } } None => { if digit_count == 0 { - return None + return None; } else { - return Some(r) + return Some(r); } } }; @@ -173,12 +165,11 @@ impl<'a> Parser<'a> { assert!(head.len() + tail.len() <= 8); let mut gs = [0; 8]; gs[..head.len()].copy_from_slice(head); - gs[(8 - tail.len()) .. 8].copy_from_slice(tail); + gs[(8 - tail.len())..8].copy_from_slice(tail); Ipv6Addr::new(gs[0], gs[1], gs[2], gs[3], gs[4], gs[5], gs[6], gs[7]) } - fn read_groups(p: &mut Parser<'_>, groups: &mut [u16; 8], limit: usize) - -> (usize, bool) { + fn read_groups(p: &mut Parser<'_>, groups: &mut [u16; 8], limit: usize) -> (usize, bool) { let mut i = 0; while i < limit { if i < limit - 1 { @@ -206,7 +197,7 @@ impl<'a> Parser<'a> { }); match group { Some(g) => groups[i] = g, - None => return (i, false) + None => return (i, false), } i += 1; } @@ -218,13 +209,13 @@ impl<'a> Parser<'a> { if head_size == 8 { return Some(Ipv6Addr::new( - head[0], head[1], head[2], head[3], - head[4], head[5], head[6], head[7])) + head[0], head[1], head[2], head[3], head[4], head[5], head[6], head[7], + )); } // IPv4 part is not allowed before `::` if head_ipv4 { - return None + return None; } // read `::` if previous code parsed less than 8 groups @@ -252,9 +243,7 @@ impl<'a> Parser<'a> { fn read_socket_addr_v4(&mut self) -> Option<SocketAddrV4> { let ip_addr = |p: &mut Parser<'_>| p.read_ipv4_addr(); let colon = |p: &mut Parser<'_>| p.read_given_char(':'); - let port = |p: &mut Parser<'_>| { - p.read_number(10, 5, 0x10000).map(|n| n as u16) - }; + let port = |p: &mut Parser<'_>| p.read_number(10, 5, 0x10000).map(|n| n as u16); self.read_seq_3(ip_addr, colon, port).map(|t| { let (ip, _, port): (Ipv4Addr, char, u16) = t; @@ -270,9 +259,7 @@ impl<'a> Parser<'a> { p.read_seq_3(open_br, ip_addr, clos_br).map(|t| t.1) }; let colon = |p: &mut Parser<'_>| p.read_given_char(':'); - let port = |p: &mut Parser<'_>| { - p.read_number(10, 5, 0x10000).map(|n| n as u16) - }; + let port = |p: &mut Parser<'_>| p.read_number(10, 5, 0x10000).map(|n| n as u16); self.read_seq_3(ip_addr, colon, port).map(|t| { let (ip, _, port): (Ipv6Addr, char, u16) = t; @@ -293,7 +280,7 @@ impl FromStr for IpAddr { fn from_str(s: &str) -> Result<IpAddr, AddrParseError> { match Parser::new(s).read_till_eof(|p| p.read_ip_addr()) { Some(s) => Ok(s), - None => Err(AddrParseError(())) + None => Err(AddrParseError(())), } } } @@ -304,7 +291,7 @@ impl FromStr for Ipv4Addr { fn from_str(s: &str) -> Result<Ipv4Addr, AddrParseError> { match Parser::new(s).read_till_eof(|p| p.read_ipv4_addr()) { Some(s) => Ok(s), - None => Err(AddrParseError(())) + None => Err(AddrParseError(())), } } } @@ -315,7 +302,7 @@ impl FromStr for Ipv6Addr { fn from_str(s: &str) -> Result<Ipv6Addr, AddrParseError> { match Parser::new(s).read_till_eof(|p| p.read_ipv6_addr()) { Some(s) => Ok(s), - None => Err(AddrParseError(())) + None => Err(AddrParseError(())), } } } diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs index d8b6fb6da93..5c022159970 100644 --- a/src/libstd/net/tcp.rs +++ b/src/libstd/net/tcp.rs @@ -2,7 +2,7 @@ use crate::io::prelude::*; use crate::fmt; use crate::io::{self, Initializer, IoSlice, IoSliceMut}; -use crate::net::{ToSocketAddrs, SocketAddr, Shutdown}; +use crate::net::{Shutdown, SocketAddr, ToSocketAddrs}; use crate::sys_common::net as net_imp; use crate::sys_common::{AsInner, FromInner, IntoInner}; use crate::time::Duration; @@ -93,7 +93,9 @@ pub struct TcpListener(net_imp::TcpListener); /// [`TcpListener`]: ../../std/net/struct.TcpListener.html #[stable(feature = "rust1", since = "1.0.0")] #[derive(Debug)] -pub struct Incoming<'a> { listener: &'a TcpListener } +pub struct Incoming<'a> { + listener: &'a TcpListener, +} impl TcpStream { /// Opens a TCP connection to a remote host. @@ -567,7 +569,9 @@ impl TcpStream { #[stable(feature = "rust1", since = "1.0.0")] impl Read for TcpStream { - fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { self.0.read(buf) } + fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { + self.0.read(buf) + } fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> io::Result<usize> { self.0.read_vectored(bufs) @@ -580,17 +584,23 @@ impl Read for TcpStream { } #[stable(feature = "rust1", since = "1.0.0")] impl Write for TcpStream { - fn write(&mut self, buf: &[u8]) -> io::Result<usize> { self.0.write(buf) } + fn write(&mut self, buf: &[u8]) -> io::Result<usize> { + self.0.write(buf) + } fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> io::Result<usize> { self.0.write_vectored(bufs) } - fn flush(&mut self) -> io::Result<()> { Ok(()) } + fn flush(&mut self) -> io::Result<()> { + Ok(()) + } } #[stable(feature = "rust1", since = "1.0.0")] impl Read for &TcpStream { - fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { self.0.read(buf) } + fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { + self.0.read(buf) + } fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> io::Result<usize> { self.0.read_vectored(bufs) @@ -603,25 +613,35 @@ impl Read for &TcpStream { } #[stable(feature = "rust1", since = "1.0.0")] impl Write for &TcpStream { - fn write(&mut self, buf: &[u8]) -> io::Result<usize> { self.0.write(buf) } + fn write(&mut self, buf: &[u8]) -> io::Result<usize> { + self.0.write(buf) + } fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> io::Result<usize> { self.0.write_vectored(bufs) } - fn flush(&mut self) -> io::Result<()> { Ok(()) } + fn flush(&mut self) -> io::Result<()> { + Ok(()) + } } impl AsInner<net_imp::TcpStream> for TcpStream { - fn as_inner(&self) -> &net_imp::TcpStream { &self.0 } + fn as_inner(&self) -> &net_imp::TcpStream { + &self.0 + } } impl FromInner<net_imp::TcpStream> for TcpStream { - fn from_inner(inner: net_imp::TcpStream) -> TcpStream { TcpStream(inner) } + fn from_inner(inner: net_imp::TcpStream) -> TcpStream { + TcpStream(inner) + } } impl IntoInner<net_imp::TcpStream> for TcpStream { - fn into_inner(self) -> net_imp::TcpStream { self.0 } + fn into_inner(self) -> net_imp::TcpStream { + self.0 + } } #[stable(feature = "rust1", since = "1.0.0")] @@ -814,16 +834,20 @@ impl TcpListener { } #[stable(feature = "net2_mutators", since = "1.9.0")] - #[rustc_deprecated(since = "1.16.0", - reason = "this option can only be set before the socket is bound")] + #[rustc_deprecated( + since = "1.16.0", + reason = "this option can only be set before the socket is bound" + )] #[allow(missing_docs)] pub fn set_only_v6(&self, only_v6: bool) -> io::Result<()> { self.0.set_only_v6(only_v6) } #[stable(feature = "net2_mutators", since = "1.9.0")] - #[rustc_deprecated(since = "1.16.0", - reason = "this option can only be set before the socket is bound")] + #[rustc_deprecated( + since = "1.16.0", + reason = "this option can only be set before the socket is bound" + )] #[allow(missing_docs)] pub fn only_v6(&self) -> io::Result<bool> { self.0.only_v6() @@ -907,7 +931,9 @@ impl<'a> Iterator for Incoming<'a> { } impl AsInner<net_imp::TcpListener> for TcpListener { - fn as_inner(&self) -> &net_imp::TcpListener { &self.0 } + fn as_inner(&self) -> &net_imp::TcpListener { + &self.0 + } } impl FromInner<net_imp::TcpListener> for TcpListener { @@ -917,7 +943,9 @@ impl FromInner<net_imp::TcpListener> for TcpListener { } impl IntoInner<net_imp::TcpListener> for TcpListener { - fn into_inner(self) -> net_imp::TcpListener { self.0 } + fn into_inner(self) -> net_imp::TcpListener { + self.0 + } } #[stable(feature = "rust1", since = "1.0.0")] @@ -930,13 +958,13 @@ impl fmt::Debug for TcpListener { #[cfg(all(test, not(any(target_os = "cloudabi", target_os = "emscripten"))))] mod tests { use crate::fmt; - use crate::io::{ErrorKind, IoSlice, IoSliceMut}; use crate::io::prelude::*; - use crate::net::*; + use crate::io::{ErrorKind, IoSlice, IoSliceMut}; use crate::net::test::{next_test_ip4, next_test_ip6}; + use crate::net::*; use crate::sync::mpsc::channel; - use crate::time::{Instant, Duration}; use crate::thread; + use crate::time::{Duration, Instant}; fn each_ip(f: &mut dyn FnMut(SocketAddr)) { f(next_test_ip4()); @@ -949,15 +977,14 @@ mod tests { Ok(t) => t, Err(e) => panic!("received error for `{}`: {}", stringify!($e), e), } - } + }; } #[test] fn bind_error() { match TcpListener::bind("1.1.1.1:9999") { Ok(..) => panic!(), - Err(e) => - assert_eq!(e.kind(), ErrorKind::AddrNotAvailable), + Err(e) => assert_eq!(e.kind(), ErrorKind::AddrNotAvailable), } } @@ -965,11 +992,15 @@ mod tests { fn connect_error() { match TcpStream::connect("0.0.0.0:1") { Ok(..) => panic!(), - Err(e) => assert!(e.kind() == ErrorKind::ConnectionRefused || - e.kind() == ErrorKind::InvalidInput || - e.kind() == ErrorKind::AddrInUse || - e.kind() == ErrorKind::AddrNotAvailable, - "bad error: {} {:?}", e, e.kind()), + Err(e) => assert!( + e.kind() == ErrorKind::ConnectionRefused + || e.kind() == ErrorKind::InvalidInput + || e.kind() == ErrorKind::AddrInUse + || e.kind() == ErrorKind::AddrNotAvailable, + "bad error: {} {:?}", + e, + e.kind() + ), } } @@ -979,8 +1010,7 @@ mod tests { let listener = t!(TcpListener::bind(&socket_addr)); let _t = thread::spawn(move || { - let mut stream = t!(TcpStream::connect(&("localhost", - socket_addr.port()))); + let mut stream = t!(TcpStream::connect(&("localhost", socket_addr.port()))); t!(stream.write(&[144])); }); @@ -995,7 +1025,7 @@ mod tests { each_ip(&mut |addr| { let acceptor = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let host = match addr { SocketAddr::V4(..) => "127.0.0.1", SocketAddr::V6(..) => "::1", @@ -1017,7 +1047,7 @@ mod tests { let acceptor = t!(TcpListener::bind(&addr)); let (tx, rx) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut stream = t!(TcpStream::connect(&addr)); t!(stream.write(&[99])); tx.send(t!(stream.local_addr())).unwrap(); @@ -1036,7 +1066,7 @@ mod tests { each_ip(&mut |addr| { let acceptor = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let _stream = t!(TcpStream::connect(&addr)); // Close }); @@ -1056,7 +1086,7 @@ mod tests { let acceptor = t!(TcpListener::bind(&addr)); let (tx, rx) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { drop(t!(TcpStream::connect(&addr))); tx.send(()).unwrap(); }); @@ -1067,10 +1097,13 @@ mod tests { match stream.write(&buf) { Ok(..) => {} Err(e) => { - assert!(e.kind() == ErrorKind::ConnectionReset || - e.kind() == ErrorKind::BrokenPipe || - e.kind() == ErrorKind::ConnectionAborted, - "unknown error: {}", e); + assert!( + e.kind() == ErrorKind::ConnectionReset + || e.kind() == ErrorKind::BrokenPipe + || e.kind() == ErrorKind::ConnectionAborted, + "unknown error: {}", + e + ); } } }) @@ -1082,7 +1115,7 @@ mod tests { let max = 10; let acceptor = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { for _ in 0..max { let mut stream = t!(TcpStream::connect(&addr)); t!(stream.write(&[99])); @@ -1104,11 +1137,11 @@ mod tests { each_ip(&mut |addr| { let acceptor = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let acceptor = acceptor; for (i, stream) in acceptor.incoming().enumerate().take(MAX) { // Start another thread to handle the connection - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut stream = t!(stream); let mut buf = [0]; t!(stream.read(&mut buf)); @@ -1121,9 +1154,11 @@ mod tests { }); fn connect(i: usize, addr: SocketAddr) { - if i == MAX { return } + if i == MAX { + return; + } - let t = thread::spawn(move|| { + let t = thread::spawn(move || { let mut stream = t!(TcpStream::connect(&addr)); // Connect again before writing connect(i + 1, addr); @@ -1139,10 +1174,10 @@ mod tests { each_ip(&mut |addr| { let acceptor = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { for stream in acceptor.incoming().take(MAX) { // Start another thread to handle the connection - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut stream = t!(stream); let mut buf = [0]; t!(stream.read(&mut buf)); @@ -1155,9 +1190,11 @@ mod tests { }); fn connect(i: usize, addr: SocketAddr) { - if i == MAX { return } + if i == MAX { + return; + } - let t = thread::spawn(move|| { + let t = thread::spawn(move || { let mut stream = t!(TcpStream::connect(&addr)); connect(i + 1, addr); t!(stream.write(&[99])); @@ -1172,7 +1209,7 @@ mod tests { let listener = t!(TcpListener::bind(&addr)); let so_name = t!(listener.local_addr()); assert_eq!(addr, so_name); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { t!(listener.accept()); }); @@ -1186,7 +1223,7 @@ mod tests { each_ip(&mut |addr| { let (tx, rx) = channel(); let srv = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut cl = t!(srv.accept()).0; cl.write(&[10]).unwrap(); let mut b = [0]; @@ -1215,9 +1252,11 @@ mod tests { let mut a = []; let mut b = [0]; let mut c = [0; 3]; - let len = t!(s2.read_vectored( - &mut [IoSliceMut::new(&mut a), IoSliceMut::new(&mut b), IoSliceMut::new(&mut c)], - )); + let len = t!(s2.read_vectored(&mut [ + IoSliceMut::new(&mut a), + IoSliceMut::new(&mut b), + IoSliceMut::new(&mut c) + ],)); assert!(len > 0); assert_eq!(b, [10]); // some implementations don't support readv, so we may only fill the first buffer @@ -1260,10 +1299,14 @@ mod tests { listener1, listener2 ), Err(e) => { - assert!(e.kind() == ErrorKind::ConnectionRefused || - e.kind() == ErrorKind::Other || - e.kind() == ErrorKind::AddrInUse, - "unknown error: {} {:?}", e, e.kind()); + assert!( + e.kind() == ErrorKind::ConnectionRefused + || e.kind() == ErrorKind::Other + || e.kind() == ErrorKind::AddrInUse, + "unknown error: {} {:?}", + e, + e.kind() + ); } } }) @@ -1274,7 +1317,7 @@ mod tests { each_ip(&mut |addr| { let acceptor = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { t!(TcpStream::connect(&addr)); }); @@ -1289,7 +1332,7 @@ mod tests { each_ip(&mut |addr| { let acceptor = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut s = t!(TcpStream::connect(&addr)); let mut buf = [0, 0]; assert_eq!(s.read(&mut buf).unwrap(), 1); @@ -1302,7 +1345,7 @@ mod tests { let (tx1, rx1) = channel(); let (tx2, rx2) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut s2 = s2; rx1.recv().unwrap(); t!(s2.write(&[1])); @@ -1322,7 +1365,7 @@ mod tests { let (tx1, rx) = channel(); let tx2 = tx1.clone(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut s = t!(TcpStream::connect(&addr)); t!(s.write(&[1])); rx.recv().unwrap(); @@ -1334,7 +1377,7 @@ mod tests { let s2 = t!(s1.try_clone()); let (done, rx) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut s2 = s2; let mut buf = [0, 0]; t!(s2.read(&mut buf)); @@ -1354,7 +1397,7 @@ mod tests { each_ip(&mut |addr| { let acceptor = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut s = t!(TcpStream::connect(&addr)); let mut buf = [0, 1]; t!(s.read(&mut buf)); @@ -1365,7 +1408,7 @@ mod tests { let s2 = t!(s1.try_clone()); let (done, rx) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut s2 = s2; t!(s2.write(&[1])); done.send(()).unwrap(); @@ -1382,7 +1425,7 @@ mod tests { fn shutdown_smoke() { each_ip(&mut |addr| { let a = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut c = t!(a.accept()).0; let mut b = [0]; assert_eq!(c.read(&mut b).unwrap(), 0); @@ -1405,7 +1448,7 @@ mod tests { each_ip(&mut |addr| { let a = t!(TcpListener::bind(&addr)); let (tx, rx) = channel::<()>(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let _s = t!(a.accept()); let _ = rx.recv(); }); @@ -1444,7 +1487,7 @@ mod tests { each_ip(&mut |addr| { let a = t!(TcpListener::bind(&addr)); let (tx1, rx) = channel::<()>(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let _s = t!(a.accept()); let _ = rx.recv(); }); @@ -1452,7 +1495,7 @@ mod tests { let s = t!(TcpStream::connect(&addr)); let s2 = t!(s.try_clone()); let (tx, rx) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut s2 = s2; assert_eq!(t!(s2.read(&mut [0])), 0); tx.send(()).unwrap(); @@ -1475,7 +1518,7 @@ mod tests { let (tx, rx) = channel(); let (txdone, rxdone) = channel(); let txdone2 = txdone.clone(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut tcp = t!(TcpStream::connect(&addr)); rx.recv().unwrap(); t!(tcp.write(&[0])); @@ -1486,7 +1529,7 @@ mod tests { let tcp = t!(accept.accept()).0; let tcp2 = t!(tcp.try_clone()); let txdone3 = txdone.clone(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut tcp2 = tcp2; t!(tcp2.read(&mut [0])); txdone3.send(()).unwrap(); @@ -1512,10 +1555,10 @@ mod tests { let a = t!(TcpListener::bind(&addr)); let a2 = t!(a.try_clone()); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let _ = TcpStream::connect(&addr); }); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let _ = TcpStream::connect(&addr); }); @@ -1533,17 +1576,17 @@ mod tests { let (tx, rx) = channel(); let tx2 = tx.clone(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { tx.send(t!(a.accept())).unwrap(); }); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { tx2.send(t!(a2.accept())).unwrap(); }); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let _ = TcpStream::connect(&addr); }); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let _ = TcpStream::connect(&addr); }); @@ -1563,10 +1606,10 @@ mod tests { addr.to_string() } - #[cfg(unix)] - use crate::os::unix::io::AsRawFd; #[cfg(target_env = "sgx")] use crate::os::fortanix_sgx::io::AsRawFd; + #[cfg(unix)] + use crate::os::unix::io::AsRawFd; #[cfg(not(windows))] fn render_inner(addr: &dyn AsRawFd) -> impl fmt::Debug { addr.as_raw_fd() @@ -1576,22 +1619,26 @@ mod tests { addr.as_raw_socket() } - let inner_name = if cfg!(windows) {"socket"} else {"fd"}; + let inner_name = if cfg!(windows) { "socket" } else { "fd" }; let socket_addr = next_test_ip4(); let listener = t!(TcpListener::bind(&socket_addr)); - let compare = format!("TcpListener {{ addr: {:?}, {}: {:?} }}", - render_socket_addr(&socket_addr), - inner_name, - render_inner(&listener)); + let compare = format!( + "TcpListener {{ addr: {:?}, {}: {:?} }}", + render_socket_addr(&socket_addr), + inner_name, + render_inner(&listener) + ); assert_eq!(format!("{:?}", listener), compare); let stream = t!(TcpStream::connect(&("localhost", socket_addr.port()))); - let compare = format!("TcpStream {{ addr: {:?}, peer: {:?}, {}: {:?} }}", - render_socket_addr(&stream.local_addr().unwrap()), - render_socket_addr(&stream.peer_addr().unwrap()), - inner_name, - render_inner(&stream)); + let compare = format!( + "TcpStream {{ addr: {:?}, peer: {:?}, {}: {:?} }}", + render_socket_addr(&stream.local_addr().unwrap()), + render_socket_addr(&stream.peer_addr().unwrap()), + inner_name, + render_inner(&stream) + ); assert_eq!(format!("{:?}", stream), compare); } @@ -1638,8 +1685,11 @@ mod tests { let mut buf = [0; 10]; let start = Instant::now(); let kind = stream.read_exact(&mut buf).err().expect("expected error").kind(); - assert!(kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut, - "unexpected_error: {:?}", kind); + assert!( + kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut, + "unexpected_error: {:?}", + kind + ); assert!(start.elapsed() > Duration::from_millis(400)); drop(listener); } @@ -1662,8 +1712,11 @@ mod tests { let start = Instant::now(); let kind = stream.read_exact(&mut buf).err().expect("expected error").kind(); - assert!(kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut, - "unexpected_error: {:?}", kind); + assert!( + kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut, + "unexpected_error: {:?}", + kind + ); assert!(start.elapsed() > Duration::from_millis(400)); drop(listener); } @@ -1749,9 +1802,9 @@ mod tests { let (txdone, rxdone) = channel(); let srv = t!(TcpListener::bind(&addr)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut cl = t!(srv.accept()).0; - cl.write(&[1,3,3,7]).unwrap(); + cl.write(&[1, 3, 3, 7]).unwrap(); t!(rxdone.recv()); }); diff --git a/src/libstd/net/test.rs b/src/libstd/net/test.rs index e2991cbdd88..37937b5ea95 100644 --- a/src/libstd/net/test.rs +++ b/src/libstd/net/test.rs @@ -1,7 +1,7 @@ #![allow(warnings)] // not used on emscripten use crate::env; -use crate::net::{SocketAddr, SocketAddrV4, SocketAddrV6, Ipv4Addr, Ipv6Addr, ToSocketAddrs}; +use crate::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs}; use crate::sync::atomic::{AtomicUsize, Ordering}; static PORT: AtomicUsize = AtomicUsize::new(0); @@ -13,8 +13,7 @@ pub fn next_test_ip4() -> SocketAddr { pub fn next_test_ip6() -> SocketAddr { let port = PORT.fetch_add(1, Ordering::SeqCst) as u16 + base_port(); - SocketAddr::V6(SocketAddrV6::new(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1), - port, 0, 0)) + SocketAddr::V6(SocketAddrV6::new(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1), port, 0, 0)) } pub fn sa4(a: Ipv4Addr, p: u16) -> SocketAddr { @@ -41,11 +40,21 @@ fn base_port() -> u16 { } else { env::current_dir().unwrap().into_os_string().into_string().unwrap() }; - let dirs = ["32-opt", "32-nopt", - "musl-64-opt", "cross-opt", - "64-opt", "64-nopt", "64-opt-vg", "64-debug-opt", - "all-opt", "snap3", "dist", "sgx"]; - dirs.iter().enumerate().find(|&(_, dir)| { - cwd.contains(dir) - }).map(|p| p.0).unwrap_or(0) as u16 * 1000 + 19600 + let dirs = [ + "32-opt", + "32-nopt", + "musl-64-opt", + "cross-opt", + "64-opt", + "64-nopt", + "64-opt-vg", + "64-debug-opt", + "all-opt", + "snap3", + "dist", + "sgx", + ]; + dirs.iter().enumerate().find(|&(_, dir)| cwd.contains(dir)).map(|p| p.0).unwrap_or(0) as u16 + * 1000 + + 19600 } diff --git a/src/libstd/net/udp.rs b/src/libstd/net/udp.rs index a9e4457f423..0096b827ca4 100644 --- a/src/libstd/net/udp.rs +++ b/src/libstd/net/udp.rs @@ -1,6 +1,6 @@ use crate::fmt; use crate::io::{self, Error, ErrorKind}; -use crate::net::{ToSocketAddrs, SocketAddr, Ipv4Addr, Ipv6Addr}; +use crate::net::{Ipv4Addr, Ipv6Addr, SocketAddr, ToSocketAddrs}; use crate::sys_common::net as net_imp; use crate::sys_common::{AsInner, FromInner, IntoInner}; use crate::time::Duration; @@ -171,12 +171,10 @@ impl UdpSocket { /// socket.send_to(&[0; 10], "127.0.0.1:4242").expect("couldn't send data"); /// ``` #[stable(feature = "rust1", since = "1.0.0")] - pub fn send_to<A: ToSocketAddrs>(&self, buf: &[u8], addr: A) - -> io::Result<usize> { + pub fn send_to<A: ToSocketAddrs>(&self, buf: &[u8], addr: A) -> io::Result<usize> { match addr.to_socket_addrs()?.next() { Some(addr) => self.0.send_to(buf, &addr), - None => Err(Error::new(ErrorKind::InvalidInput, - "no addresses to send data to")), + None => Err(Error::new(ErrorKind::InvalidInput, "no addresses to send data to")), } } @@ -817,15 +815,21 @@ impl UdpSocket { } impl AsInner<net_imp::UdpSocket> for UdpSocket { - fn as_inner(&self) -> &net_imp::UdpSocket { &self.0 } + fn as_inner(&self) -> &net_imp::UdpSocket { + &self.0 + } } impl FromInner<net_imp::UdpSocket> for UdpSocket { - fn from_inner(inner: net_imp::UdpSocket) -> UdpSocket { UdpSocket(inner) } + fn from_inner(inner: net_imp::UdpSocket) -> UdpSocket { + UdpSocket(inner) + } } impl IntoInner<net_imp::UdpSocket> for UdpSocket { - fn into_inner(self) -> net_imp::UdpSocket { self.0 } + fn into_inner(self) -> net_imp::UdpSocket { + self.0 + } } #[stable(feature = "rust1", since = "1.0.0")] @@ -838,12 +842,12 @@ impl fmt::Debug for UdpSocket { #[cfg(all(test, not(any(target_os = "cloudabi", target_os = "emscripten", target_env = "sgx"))))] mod tests { use crate::io::ErrorKind; - use crate::net::*; use crate::net::test::{next_test_ip4, next_test_ip6}; + use crate::net::*; use crate::sync::mpsc::channel; use crate::sys_common::AsInner; - use crate::time::{Instant, Duration}; use crate::thread; + use crate::time::{Duration, Instant}; fn each_ip(f: &mut dyn FnMut(SocketAddr, SocketAddr)) { f(next_test_ip4(), next_test_ip4()); @@ -856,16 +860,14 @@ mod tests { Ok(t) => t, Err(e) => panic!("received error for `{}`: {}", stringify!($e), e), } - } + }; } #[test] fn bind_error() { match UdpSocket::bind("1.1.1.1:9999") { Ok(..) => panic!(), - Err(e) => { - assert_eq!(e.kind(), ErrorKind::AddrNotAvailable) - } + Err(e) => assert_eq!(e.kind(), ErrorKind::AddrNotAvailable), } } @@ -875,7 +877,7 @@ mod tests { let (tx1, rx1) = channel(); let (tx2, rx2) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let client = t!(UdpSocket::bind(&client_ip)); rx1.recv().unwrap(); t!(client.send_to(&[99], &server_ip)); @@ -917,7 +919,7 @@ mod tests { let sock1 = t!(UdpSocket::bind(&addr1)); let sock2 = t!(UdpSocket::bind(&addr2)); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut buf = [0, 0]; assert_eq!(sock2.recv_from(&mut buf).unwrap(), (1, addr1)); assert_eq!(buf[0], 1); @@ -928,7 +930,7 @@ mod tests { let (tx1, rx1) = channel(); let (tx2, rx2) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { rx1.recv().unwrap(); t!(sock3.send_to(&[1], &addr2)); tx2.send(()).unwrap(); @@ -948,7 +950,7 @@ mod tests { let (tx1, rx) = channel(); let tx2 = tx1.clone(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { t!(sock2.send_to(&[1], &addr1)); rx.recv().unwrap(); t!(sock2.send_to(&[2], &addr1)); @@ -958,7 +960,7 @@ mod tests { let sock3 = t!(sock1.try_clone()); let (done, rx) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut buf = [0, 0]; t!(sock3.recv_from(&mut buf)); tx2.send(()).unwrap(); @@ -981,7 +983,7 @@ mod tests { let (tx, rx) = channel(); let (serv_tx, serv_rx) = channel(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { let mut buf = [0, 1]; rx.recv().unwrap(); t!(sock2.recv_from(&mut buf)); @@ -992,15 +994,19 @@ mod tests { let (done, rx) = channel(); let tx2 = tx.clone(); - let _t = thread::spawn(move|| { + let _t = thread::spawn(move || { match sock3.send_to(&[1], &addr2) { - Ok(..) => { let _ = tx2.send(()); } + Ok(..) => { + let _ = tx2.send(()); + } Err(..) => {} } done.send(()).unwrap(); }); match sock1.send_to(&[2], &addr2) { - Ok(..) => { let _ = tx.send(()); } + Ok(..) => { + let _ = tx.send(()); + } Err(..) => {} } drop(tx); @@ -1012,13 +1018,13 @@ mod tests { #[test] fn debug() { - let name = if cfg!(windows) {"socket"} else {"fd"}; + let name = if cfg!(windows) { "socket" } else { "fd" }; let socket_addr = next_test_ip4(); let udpsock = t!(UdpSocket::bind(&socket_addr)); let udpsock_inner = udpsock.0.socket().as_inner(); - let compare = format!("UdpSocket {{ addr: {:?}, {}: {:?} }}", - socket_addr, name, udpsock_inner); + let compare = + format!("UdpSocket {{ addr: {:?}, {}: {:?} }}", socket_addr, name, udpsock_inner); assert_eq!(format!("{:?}", udpsock), compare); } @@ -1063,8 +1069,11 @@ mod tests { loop { let kind = stream.recv_from(&mut buf).err().expect("expected error").kind(); if kind != ErrorKind::Interrupted { - assert!(kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut, - "unexpected_error: {:?}", kind); + assert!( + kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut, + "unexpected_error: {:?}", + kind + ); break; } } @@ -1088,8 +1097,11 @@ mod tests { loop { let kind = stream.recv_from(&mut buf).err().expect("expected error").kind(); if kind != ErrorKind::Interrupted { - assert!(kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut, - "unexpected_error: {:?}", kind); + assert!( + kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut, + "unexpected_error: {:?}", + kind + ); break; } } |
