Use drop instead of the toilet closure `|_| ()`

This commit is contained in:
Lzu Tao 2020-01-02 08:56:12 +00:00
parent 5095101528
commit dd8f072233
25 changed files with 35 additions and 35 deletions

View File

@ -142,7 +142,7 @@ fn shared_from_iter_trustedlen_normal() {
// Try a ZST to make sure it is handled well.
{
let iter = (0..SHARED_ITER_MAX).map(|_| ());
let iter = (0..SHARED_ITER_MAX).map(drop);
let vec = iter.clone().collect::<Vec<_>>();
let rc = iter.collect::<Rc<[_]>>();
assert_eq!(&*vec, &*rc);

View File

@ -138,7 +138,7 @@ fn shared_from_iter_trustedlen_normal() {
// Try a ZST to make sure it is handled well.
{
let iter = (0..SHARED_ITER_MAX).map(|_| ());
let iter = (0..SHARED_ITER_MAX).map(drop);
let vec = iter.clone().collect::<Vec<_>>();
let rc = iter.collect::<Rc<[_]>>();
assert_eq!(&*vec, &*rc);

View File

@ -866,7 +866,7 @@ impl<'a> Parser<'a> {
let appl = Applicability::MachineApplicable;
if self.token.span == DUMMY_SP || self.prev_span == DUMMY_SP {
// Likely inside a macro, can't provide meaninful suggestions.
return self.expect(&token::Semi).map(|_| ());
return self.expect(&token::Semi).map(drop);
} else if !sm.is_multiline(self.prev_span.until(self.token.span)) {
// The current token is in the same line as the prior token, not recoverable.
} else if self.look_ahead(1, |t| {
@ -905,7 +905,7 @@ impl<'a> Parser<'a> {
.emit();
return Ok(());
}
self.expect(&token::Semi).map(|_| ()) // Error unconditionally
self.expect(&token::Semi).map(drop) // Error unconditionally
}
pub(super) fn parse_semi_or_incorrect_foreign_fn_body(

View File

@ -232,7 +232,7 @@ impl<R: Seek> BufReader<R> {
}
}
}
self.seek(SeekFrom::Current(offset)).map(|_| ())
self.seek(SeekFrom::Current(offset)).map(drop)
}
}

View File

@ -93,12 +93,12 @@ pub fn ftruncate64(fd: c_int, size: u64) -> io::Result<()> {
unsafe {
match ftruncate64.get() {
Some(f) => cvt_r(|| f(fd, size as i64)).map(|_| ()),
Some(f) => cvt_r(|| f(fd, size as i64)).map(drop),
None => {
if size > i32::max_value() as u64 {
Err(io::Error::new(io::ErrorKind::InvalidInput, "cannot truncate >2GB"))
} else {
cvt_r(|| ftruncate(fd, size as i32)).map(|_| ())
cvt_r(|| ftruncate(fd, size as i32)).map(drop)
}
}
}
@ -107,7 +107,7 @@ pub fn ftruncate64(fd: c_int, size: u64) -> io::Result<()> {
#[cfg(target_pointer_width = "64")]
pub fn ftruncate64(fd: c_int, size: u64) -> io::Result<()> {
unsafe { cvt_r(|| ftruncate(fd, size as i64)).map(|_| ()) }
unsafe { cvt_r(|| ftruncate(fd, size as i64)).map(drop) }
}
#[cfg(target_pointer_width = "32")]

View File

@ -814,7 +814,7 @@ impl File {
use crate::convert::TryInto;
let size: off64_t =
size.try_into().map_err(|e| io::Error::new(io::ErrorKind::InvalidInput, e))?;
cvt_r(|| unsafe { ftruncate64(self.0.raw(), size) }).map(|_| ())
cvt_r(|| unsafe { ftruncate64(self.0.raw(), size) }).map(drop)
}
}

View File

@ -324,7 +324,7 @@ impl Socket {
pub fn set_nonblocking(&self, nonblocking: bool) -> io::Result<()> {
let mut nonblocking = nonblocking as libc::c_int;
cvt(unsafe { libc::ioctl(*self.as_inner(), libc::FIONBIO, &mut nonblocking) }).map(|_| ())
cvt(unsafe { libc::ioctl(*self.as_inner(), libc::FIONBIO, &mut nonblocking) }).map(drop)
}
pub fn take_error(&self) -> io::Result<Option<io::Error>> {

View File

@ -529,7 +529,7 @@ pub fn setenv(k: &OsStr, v: &OsStr) -> io::Result<()> {
unsafe {
let _guard = env_lock();
cvt(libc::setenv(k.as_ptr(), v.as_ptr(), 1)).map(|_| ())
cvt(libc::setenv(k.as_ptr(), v.as_ptr(), 1)).map(drop)
}
}
@ -538,7 +538,7 @@ pub fn unsetenv(n: &OsStr) -> io::Result<()> {
unsafe {
let _guard = env_lock();
cvt(libc::unsetenv(nbuf.as_ptr())).map(|_| ())
cvt(libc::unsetenv(nbuf.as_ptr())).map(drop)
}
}

View File

@ -99,11 +99,11 @@ pub fn read2(p1: AnonPipe, v1: &mut Vec<u8>, p2: AnonPipe, v2: &mut Vec<u8>) ->
if fds[0].revents != 0 && read(&p1, v1)? {
p2.set_nonblocking(false)?;
return p2.read_to_end(v2).map(|_| ());
return p2.read_to_end(v2).map(drop);
}
if fds[1].revents != 0 && read(&p2, v2)? {
p1.set_nonblocking(false)?;
return p1.read_to_end(v1).map(|_| ());
return p1.read_to_end(v1).map(drop);
}
}

View File

@ -425,7 +425,7 @@ impl Process {
"invalid argument: can't kill an exited process",
))
} else {
cvt(unsafe { libc::kill(self.pid, libc::SIGKILL) }).map(|_| ())
cvt(unsafe { libc::kill(self.pid, libc::SIGKILL) }).map(drop)
}
}

View File

@ -340,7 +340,7 @@ impl File {
}
pub fn truncate(&self, size: u64) -> io::Result<()> {
return cvt_r(|| unsafe { ftruncate(self.0.raw(), size as off_t) }).map(|_| ());
return cvt_r(|| unsafe { ftruncate(self.0.raw(), size as off_t) }).map(drop);
}
pub fn read(&self, buf: &mut [u8]) -> io::Result<usize> {

View File

@ -261,7 +261,7 @@ impl Socket {
pub fn set_nonblocking(&self, nonblocking: bool) -> io::Result<()> {
let mut nonblocking = nonblocking as libc::c_int;
cvt(unsafe { libc::ioctl(*self.as_inner(), libc::FIONBIO, &mut nonblocking) }).map(|_| ())
cvt(unsafe { libc::ioctl(*self.as_inner(), libc::FIONBIO, &mut nonblocking) }).map(drop)
}
pub fn take_error(&self) -> io::Result<Option<io::Error>> {

View File

@ -279,7 +279,7 @@ pub fn setenv(k: &OsStr, v: &OsStr) -> io::Result<()> {
unsafe {
let _guard = env_lock();
cvt(libc::setenv(k.as_ptr(), v.as_ptr(), 1)).map(|_| ())
cvt(libc::setenv(k.as_ptr(), v.as_ptr(), 1)).map(drop)
}
}
@ -288,7 +288,7 @@ pub fn unsetenv(n: &OsStr) -> io::Result<()> {
unsafe {
let _guard = env_lock();
cvt(libc::unsetenv(nbuf.as_ptr())).map(|_| ())
cvt(libc::unsetenv(nbuf.as_ptr())).map(drop)
}
}

View File

@ -66,11 +66,11 @@ pub fn read2(p1: AnonPipe, v1: &mut Vec<u8>, p2: AnonPipe, v2: &mut Vec<u8>) ->
if fds[0].revents != 0 && read(&p1, v1)? {
p2.set_nonblocking_pipe(false)?;
return p2.read_to_end(v2).map(|_| ());
return p2.read_to_end(v2).map(drop);
}
if fds[1].revents != 0 && read(&p2, v2)? {
p1.set_nonblocking_pipe(false)?;
return p1.read_to_end(v1).map(|_| ());
return p1.read_to_end(v1).map(drop);
}
}

View File

@ -138,7 +138,7 @@ impl Process {
"invalid argument: can't kill an exited process",
))
} else {
cvt(unsafe { libc::kill(self.pid, libc::SIGKILL) }).map(|_| ())
cvt(unsafe { libc::kill(self.pid, libc::SIGKILL) }).map(drop)
}
}

View File

@ -151,7 +151,7 @@ pub fn setenv(k: &OsStr, v: &OsStr) -> io::Result<()> {
unsafe {
let _guard = env_lock();
cvt(libc::setenv(k.as_ptr(), v.as_ptr(), 1)).map(|_| ())
cvt(libc::setenv(k.as_ptr(), v.as_ptr(), 1)).map(drop)
}
}
@ -160,7 +160,7 @@ pub fn unsetenv(n: &OsStr) -> io::Result<()> {
unsafe {
let _guard = env_lock();
cvt(libc::unsetenv(nbuf.as_ptr())).map(|_| ())
cvt(libc::unsetenv(nbuf.as_ptr())).map(drop)
}
}

View File

@ -923,6 +923,6 @@ fn symlink_junction_inner(target: &Path, junction: &Path) -> io::Result<()> {
&mut ret,
ptr::null_mut(),
))
.map(|_| ())
.map(drop)
}
}

View File

@ -156,7 +156,7 @@ impl RawHandle {
}
pub fn cancel_io(&self) -> io::Result<()> {
unsafe { cvt(c::CancelIo(self.raw())).map(|_| ()) }
unsafe { cvt(c::CancelIo(self.raw())).map(drop) }
}
pub fn write(&self, buf: &[u8]) -> io::Result<usize> {

View File

@ -355,7 +355,7 @@ impl Socket {
#[cfg(not(target_vendor = "uwp"))]
fn set_no_inherit(&self) -> io::Result<()> {
sys::cvt(unsafe { c::SetHandleInformation(self.0 as c::HANDLE, c::HANDLE_FLAG_INHERIT, 0) })
.map(|_| ())
.map(drop)
}
#[cfg(target_vendor = "uwp")]

View File

@ -247,7 +247,7 @@ pub fn chdir(p: &path::Path) -> io::Result<()> {
let mut p = p.encode_wide().collect::<Vec<_>>();
p.push(0);
cvt(unsafe { c::SetCurrentDirectoryW(p.as_ptr()) }).map(|_| ())
cvt(unsafe { c::SetCurrentDirectoryW(p.as_ptr()) }).map(drop)
}
pub fn getenv(k: &OsStr) -> io::Result<Option<OsString>> {
@ -272,12 +272,12 @@ pub fn setenv(k: &OsStr, v: &OsStr) -> io::Result<()> {
let k = to_u16s(k)?;
let v = to_u16s(v)?;
cvt(unsafe { c::SetEnvironmentVariableW(k.as_ptr(), v.as_ptr()) }).map(|_| ())
cvt(unsafe { c::SetEnvironmentVariableW(k.as_ptr(), v.as_ptr()) }).map(drop)
}
pub fn unsetenv(n: &OsStr) -> io::Result<()> {
let v = to_u16s(n)?;
cvt(unsafe { c::SetEnvironmentVariableW(v.as_ptr(), ptr::null()) }).map(|_| ())
cvt(unsafe { c::SetEnvironmentVariableW(v.as_ptr(), ptr::null()) }).map(drop)
}
pub fn temp_dir() -> PathBuf {

View File

@ -36,7 +36,7 @@ macro_rules! rtunwrap {
match $e {
$ok(v) => v,
ref err => {
let err = err.as_ref().map(|_| ()); // map Ok/Some which might not be Debug
let err = err.as_ref().map(drop); // map Ok/Some which might not be Debug
rtabort!(concat!("unwrap failed: ", stringify!($e), " = {:?}"), err)
}
}

View File

@ -659,7 +659,7 @@ impl UdpSocket {
pub fn connect(&self, addr: io::Result<&SocketAddr>) -> io::Result<()> {
let (addrp, len) = addr?.into_inner();
cvt_r(|| unsafe { c::connect(*self.inner.as_inner(), addrp, len) }).map(|_| ())
cvt_r(|| unsafe { c::connect(*self.inner.as_inner(), addrp, len) }).map(drop)
}
}

View File

@ -23,7 +23,7 @@ impl B {
async fn can_error(some_string: &str) -> Result<(), String> {
let a = A { inner: vec![some_string, "foo"] };
let mut b = B {};
Ok(b.something_with_a(a).await.map(|_| ())?)
Ok(b.something_with_a(a).await.map(drop)?)
}
fn main() {

View File

@ -3,6 +3,6 @@
#![deny(unused_mut)]
fn main() {
vec![42].iter().map(|_| ()).count();
vec![42].iter().map(drop).count();
vec![(42, 22)].iter().map(|(_x, _y)| ()).count();
}

View File

@ -17,7 +17,7 @@ fn assert_invalid_input<T>(on: &str, result: io::Result<T>) {
"{} returned a strange {:?} on a path with NUL", on, e.kind()),
}
}
inner(on, result.map(|_| ()))
inner(on, result.map(drop))
}
fn main() {