From e129d49f88a69d4bb8cb0f45a0a674c17393f4e9 Mon Sep 17 00:00:00 2001 From: John Kugelman Date: Sat, 30 Oct 2021 22:58:27 -0400 Subject: [PATCH] Add #[must_use] to remaining std functions (A-N) --- library/std/src/backtrace.rs | 3 +++ library/std/src/collections/hash/map.rs | 5 +++++ library/std/src/env.rs | 8 ++++++++ library/std/src/ffi/c_str.rs | 3 +++ library/std/src/ffi/os_str.rs | 2 ++ library/std/src/fs.rs | 6 ++++++ library/std/src/io/error.rs | 5 +++++ library/std/src/io/mod.rs | 3 +++ library/std/src/io/stdio.rs | 3 +++ library/std/src/io/util.rs | 3 +++ library/std/src/net/addr.rs | 8 ++++++++ library/std/src/net/ip.rs | 4 ++++ library/std/src/net/tcp.rs | 1 + src/test/ui/rust-2018/uniform-paths/redundant.rs | 8 ++++---- src/test/ui/uniform-paths/basic-nested.rs | 8 ++++---- src/test/ui/uniform-paths/basic.rs | 4 ++-- src/test/ui/uniform-paths/macros-nested.rs | 6 +++--- src/test/ui/uniform-paths/macros.rs | 2 +- 18 files changed, 68 insertions(+), 14 deletions(-) diff --git a/library/std/src/backtrace.rs b/library/std/src/backtrace.rs index 9ace3e1b600..0b86b4f30b9 100644 --- a/library/std/src/backtrace.rs +++ b/library/std/src/backtrace.rs @@ -110,6 +110,7 @@ use crate::vec::Vec; /// previous point in time. In some instances the `Backtrace` type may /// internally be empty due to configuration. For more information see /// `Backtrace::capture`. +#[must_use] pub struct Backtrace { inner: Inner, } @@ -355,6 +356,7 @@ impl Backtrace { /// Returns the status of this backtrace, indicating whether this backtrace /// request was unsupported, disabled, or a stack trace was actually /// captured. + #[must_use] pub fn status(&self) -> BacktraceStatus { match self.inner { Inner::Unsupported => BacktraceStatus::Unsupported, @@ -366,6 +368,7 @@ impl Backtrace { impl<'a> Backtrace { /// Returns an iterator over the backtrace frames. + #[must_use] #[unstable(feature = "backtrace_frames", issue = "79676")] pub fn frames(&'a self) -> &'a [BacktraceFrame] { if let Inner::Captured(c) = &self.inner { &c.force().frames } else { &[] } diff --git a/library/std/src/collections/hash/map.rs b/library/std/src/collections/hash/map.rs index 01019344f4f..12246b5173d 100644 --- a/library/std/src/collections/hash/map.rs +++ b/library/std/src/collections/hash/map.rs @@ -1707,6 +1707,7 @@ impl<'a, K, V, S> RawEntryMut<'a, K, V, S> { impl<'a, K, V, S> RawOccupiedEntryMut<'a, K, V, S> { /// Gets a reference to the key in the entry. #[inline] + #[must_use] #[unstable(feature = "hash_raw_entry", issue = "56167")] pub fn key(&self) -> &K { self.base.key() @@ -1714,6 +1715,7 @@ impl<'a, K, V, S> RawOccupiedEntryMut<'a, K, V, S> { /// Gets a mutable reference to the key in the entry. #[inline] + #[must_use] #[unstable(feature = "hash_raw_entry", issue = "56167")] pub fn key_mut(&mut self) -> &mut K { self.base.key_mut() @@ -1730,6 +1732,7 @@ impl<'a, K, V, S> RawOccupiedEntryMut<'a, K, V, S> { /// Gets a reference to the value in the entry. #[inline] + #[must_use] #[unstable(feature = "hash_raw_entry", issue = "56167")] pub fn get(&self) -> &V { self.base.get() @@ -1746,6 +1749,7 @@ impl<'a, K, V, S> RawOccupiedEntryMut<'a, K, V, S> { /// Gets a mutable reference to the value in the entry. #[inline] + #[must_use] #[unstable(feature = "hash_raw_entry", issue = "56167")] pub fn get_mut(&mut self) -> &mut V { self.base.get_mut() @@ -1753,6 +1757,7 @@ impl<'a, K, V, S> RawOccupiedEntryMut<'a, K, V, S> { /// Gets a reference to the key and value in the entry. #[inline] + #[must_use] #[unstable(feature = "hash_raw_entry", issue = "56167")] pub fn get_key_value(&mut self) -> (&K, &V) { self.base.get_key_value() diff --git a/library/std/src/env.rs b/library/std/src/env.rs index 40b46878cd8..c6af708f6cd 100644 --- a/library/std/src/env.rs +++ b/library/std/src/env.rs @@ -113,6 +113,7 @@ pub struct VarsOs { /// ``` /// /// [`env::vars_os()`]: vars_os +#[must_use] #[stable(feature = "env", since = "1.0.0")] pub fn vars() -> Vars { Vars { inner: vars_os() } @@ -140,6 +141,7 @@ pub fn vars() -> Vars { /// println!("{:?}: {:?}", key, value); /// } /// ``` +#[must_use] #[stable(feature = "env", since = "1.0.0")] pub fn vars_os() -> VarsOs { VarsOs { inner: os_imp::env() } @@ -244,6 +246,7 @@ fn _var(key: &OsStr) -> Result { /// None => println!("{} is not defined in the environment.", key) /// } /// ``` +#[must_use] #[stable(feature = "env", since = "1.0.0")] pub fn var_os>(key: K) -> Option { _var_os(key.as_ref()) @@ -384,6 +387,7 @@ fn _remove_var(key: &OsStr) { /// documentation for more. /// /// [`env::split_paths()`]: split_paths +#[must_use = "iterators are lazy and do nothing unless consumed"] #[stable(feature = "env", since = "1.0.0")] pub struct SplitPaths<'a> { inner: os_imp::SplitPaths<'a>, @@ -564,6 +568,7 @@ impl Error for JoinPathsError { reason = "This function's behavior is unexpected and probably not what you want. \ Consider using a crate from crates.io instead." )] +#[must_use] #[stable(feature = "env", since = "1.0.0")] pub fn home_dir() -> Option { os_imp::home_dir() @@ -603,6 +608,7 @@ pub fn home_dir() -> Option { /// println!("Temporary directory: {}", dir.display()); /// } /// ``` +#[must_use] #[stable(feature = "env", since = "1.0.0")] pub fn temp_dir() -> PathBuf { os_imp::temp_dir() @@ -690,6 +696,7 @@ pub fn current_exe() -> io::Result { /// should not be relied upon for security purposes. /// /// [`env::args()`]: args +#[must_use = "iterators are lazy and do nothing unless consumed"] #[stable(feature = "env", since = "1.0.0")] pub struct Args { inner: ArgsOs, @@ -706,6 +713,7 @@ pub struct Args { /// should not be relied upon for security purposes. /// /// [`env::args_os()`]: args_os +#[must_use = "iterators are lazy and do nothing unless consumed"] #[stable(feature = "env", since = "1.0.0")] pub struct ArgsOs { inner: sys::args::Args, diff --git a/library/std/src/ffi/c_str.rs b/library/std/src/ffi/c_str.rs index b7822b40a7c..465bbae8631 100644 --- a/library/std/src/ffi/c_str.rs +++ b/library/std/src/ffi/c_str.rs @@ -1009,6 +1009,7 @@ impl NulError { /// let nul_error = CString::new("foo bar\0").unwrap_err(); /// assert_eq!(nul_error.nul_position(), 7); /// ``` + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] pub fn nul_position(&self) -> usize { self.0 @@ -1107,6 +1108,7 @@ impl IntoStringError { } /// Access the underlying UTF-8 error that was the cause of this error. + #[must_use] #[stable(feature = "cstring_into", since = "1.7.0")] pub fn utf8_error(&self) -> Utf8Error { self.error @@ -1456,6 +1458,7 @@ impl CStr { /// let boxed = c_string.into_boxed_c_str(); /// assert_eq!(boxed.into_c_string(), CString::new("foo").expect("CString::new failed")); /// ``` + #[must_use = "`self` will be dropped if the result is not used"] #[stable(feature = "into_boxed_c_str", since = "1.20.0")] pub fn into_c_string(self: Box) -> CString { let raw = Box::into_raw(self) as *mut [u8]; diff --git a/library/std/src/ffi/os_str.rs b/library/std/src/ffi/os_str.rs index 46c9aa5e627..d3a3e5262f9 100644 --- a/library/std/src/ffi/os_str.rs +++ b/library/std/src/ffi/os_str.rs @@ -239,6 +239,7 @@ impl OsString { /// assert!(os_string.capacity() >= 10); /// ``` #[stable(feature = "osstring_simple_functions", since = "1.9.0")] + #[must_use] #[inline] pub fn capacity(&self) -> usize { self.inner.capacity() @@ -707,6 +708,7 @@ impl OsStr { /// Converts a [Box]<[OsStr]> into an [`OsString`] without copying or allocating. #[stable(feature = "into_boxed_os_str", since = "1.20.0")] + #[must_use = "`self` will be dropped if the result is not used"] pub fn into_os_string(self: Box) -> OsString { let boxed = unsafe { Box::from_raw(Box::into_raw(self) as *mut Slice) }; OsString { inner: Buf::from_box(boxed) } diff --git a/library/std/src/fs.rs b/library/std/src/fs.rs index 9f45e89aa75..b9979280010 100644 --- a/library/std/src/fs.rs +++ b/library/std/src/fs.rs @@ -374,6 +374,7 @@ impl File { /// Ok(()) /// } /// ``` + #[must_use] #[unstable(feature = "with_options", issue = "65439")] pub fn with_options() -> OpenOptions { OpenOptions::new() @@ -983,6 +984,7 @@ impl Metadata { /// Ok(()) /// } /// ``` + #[must_use] #[stable(feature = "file_type", since = "1.1.0")] pub fn file_type(&self) -> FileType { FileType(self.0.file_type()) @@ -1100,6 +1102,7 @@ impl Metadata { /// Ok(()) /// } /// ``` + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] pub fn permissions(&self) -> Permissions { Permissions(self.0.perm()) @@ -1247,6 +1250,7 @@ impl Permissions { /// Ok(()) /// } /// ``` + #[must_use = "call `set_readonly` to modify the readonly flag"] #[stable(feature = "rust1", since = "1.0.0")] pub fn readonly(&self) -> bool { self.0.readonly() @@ -1441,6 +1445,7 @@ impl DirEntry { /// ``` /// /// The exact text, of course, depends on what files you have in `.`. + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] pub fn path(&self) -> PathBuf { self.0.path() @@ -1536,6 +1541,7 @@ impl DirEntry { /// } /// } /// ``` + #[must_use] #[stable(feature = "dir_entry_ext", since = "1.1.0")] pub fn file_name(&self) -> OsString { self.0.file_name() diff --git a/library/std/src/io/error.rs b/library/std/src/io/error.rs index 59a9cd781cb..3da28695b34 100644 --- a/library/std/src/io/error.rs +++ b/library/std/src/io/error.rs @@ -442,6 +442,7 @@ impl Error { /// println!("last OS error: {:?}", Error::last_os_error()); /// ``` #[stable(feature = "rust1", since = "1.0.0")] + #[must_use] #[inline] pub fn last_os_error() -> Error { Error::from_raw_os_error(sys::os::errno() as i32) @@ -509,6 +510,7 @@ impl Error { /// } /// ``` #[stable(feature = "rust1", since = "1.0.0")] + #[must_use] #[inline] pub fn raw_os_error(&self) -> Option { match self.repr { @@ -547,6 +549,7 @@ impl Error { /// } /// ``` #[stable(feature = "io_error_inner", since = "1.3.0")] + #[must_use] #[inline] pub fn get_ref(&self) -> Option<&(dyn error::Error + Send + Sync + 'static)> { match self.repr { @@ -620,6 +623,7 @@ impl Error { /// } /// ``` #[stable(feature = "io_error_inner", since = "1.3.0")] + #[must_use] #[inline] pub fn get_mut(&mut self) -> Option<&mut (dyn error::Error + Send + Sync + 'static)> { match self.repr { @@ -688,6 +692,7 @@ impl Error { /// } /// ``` #[stable(feature = "rust1", since = "1.0.0")] + #[must_use] #[inline] pub fn kind(&self) -> ErrorKind { match self.repr { diff --git a/library/std/src/io/mod.rs b/library/std/src/io/mod.rs index abe29ba0f7c..f421185c2c5 100644 --- a/library/std/src/io/mod.rs +++ b/library/std/src/io/mod.rs @@ -1310,6 +1310,7 @@ pub struct Initializer(bool); impl Initializer { /// Returns a new `Initializer` which will zero out buffers. #[unstable(feature = "read_initializer", issue = "42788")] + #[must_use] #[inline] pub fn zeroing() -> Initializer { Initializer(true) @@ -1324,6 +1325,7 @@ impl Initializer { /// the method accurately reflects the number of bytes that have been /// written to the head of the buffer. #[unstable(feature = "read_initializer", issue = "42788")] + #[must_use] #[inline] pub unsafe fn nop() -> Initializer { Initializer(false) @@ -1331,6 +1333,7 @@ impl Initializer { /// Indicates if a buffer should be initialized. #[unstable(feature = "read_initializer", issue = "42788")] + #[must_use] #[inline] pub fn should_initialize(&self) -> bool { self.0 diff --git a/library/std/src/io/stdio.rs b/library/std/src/io/stdio.rs index 9389501e012..f471693774c 100644 --- a/library/std/src/io/stdio.rs +++ b/library/std/src/io/stdio.rs @@ -301,6 +301,7 @@ pub struct StdinLock<'a> { /// Ok(()) /// } /// ``` +#[must_use] #[stable(feature = "rust1", since = "1.0.0")] pub fn stdin() -> Stdin { static INSTANCE: SyncOnceCell>> = SyncOnceCell::new(); @@ -673,6 +674,7 @@ static STDOUT: SyncOnceCell>>> = Sy /// Ok(()) /// } /// ``` +#[must_use] #[stable(feature = "rust1", since = "1.0.0")] pub fn stdout() -> Stdout { Stdout { @@ -953,6 +955,7 @@ pub struct StderrLock<'a> { /// Ok(()) /// } /// ``` +#[must_use] #[stable(feature = "rust1", since = "1.0.0")] pub fn stderr() -> Stderr { // Note that unlike `stdout()` we don't use `at_exit` here to register a diff --git a/library/std/src/io/util.rs b/library/std/src/io/util.rs index 2f3520ae7a5..9cd7c514849 100644 --- a/library/std/src/io/util.rs +++ b/library/std/src/io/util.rs @@ -32,6 +32,7 @@ pub struct Empty; /// io::empty().read_to_string(&mut buffer).unwrap(); /// assert!(buffer.is_empty()); /// ``` +#[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_io_structs", issue = "78812")] pub const fn empty() -> Empty { @@ -112,6 +113,7 @@ pub struct Repeat { /// io::repeat(0b101).read_exact(&mut buffer).unwrap(); /// assert_eq!(buffer, [0b101, 0b101, 0b101]); /// ``` +#[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_io_structs", issue = "78812")] pub const fn repeat(byte: u8) -> Repeat { @@ -192,6 +194,7 @@ pub struct Sink; /// let num_bytes = io::sink().write(&buffer).unwrap(); /// assert_eq!(num_bytes, 5); /// ``` +#[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_io_structs", issue = "78812")] pub const fn sink() -> Sink { diff --git a/library/std/src/net/addr.rs b/library/std/src/net/addr.rs index a689d2a56b7..201cbf3f08d 100644 --- a/library/std/src/net/addr.rs +++ b/library/std/src/net/addr.rs @@ -149,6 +149,7 @@ impl SocketAddr { /// let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080); /// assert_eq!(socket.ip(), IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1))); /// ``` + #[must_use] #[stable(feature = "ip_addr", since = "1.7.0")] #[rustc_const_unstable(feature = "const_socketaddr", issue = "82485")] pub const fn ip(&self) -> IpAddr { @@ -189,6 +190,7 @@ impl SocketAddr { /// let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080); /// assert_eq!(socket.port(), 8080); /// ``` + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_socketaddr", issue = "82485")] pub const fn port(&self) -> u16 { @@ -297,6 +299,7 @@ impl SocketAddrV4 { /// let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080); /// assert_eq!(socket.ip(), &Ipv4Addr::new(127, 0, 0, 1)); /// ``` + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_socketaddr", issue = "82485")] pub const fn ip(&self) -> &Ipv4Addr { @@ -331,6 +334,7 @@ impl SocketAddrV4 { /// let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080); /// assert_eq!(socket.port(), 8080); /// ``` + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_socketaddr", issue = "82485")] pub const fn port(&self) -> u16 { @@ -396,6 +400,7 @@ impl SocketAddrV6 { /// let socket = SocketAddrV6::new(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1), 8080, 0, 0); /// assert_eq!(socket.ip(), &Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1)); /// ``` + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_socketaddr", issue = "82485")] pub const fn ip(&self) -> &Ipv6Addr { @@ -428,6 +433,7 @@ impl SocketAddrV6 { /// let socket = SocketAddrV6::new(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1), 8080, 0, 0); /// assert_eq!(socket.port(), 8080); /// ``` + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_socketaddr", issue = "82485")] pub const fn port(&self) -> u16 { @@ -470,6 +476,7 @@ impl SocketAddrV6 { /// let socket = SocketAddrV6::new(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1), 8080, 10, 0); /// assert_eq!(socket.flowinfo(), 10); /// ``` + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_socketaddr", issue = "82485")] pub const fn flowinfo(&self) -> u32 { @@ -509,6 +516,7 @@ impl SocketAddrV6 { /// let socket = SocketAddrV6::new(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1), 8080, 0, 78); /// assert_eq!(socket.scope_id(), 78); /// ``` + #[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_socketaddr", issue = "82485")] pub const fn scope_id(&self) -> u32 { diff --git a/library/std/src/net/ip.rs b/library/std/src/net/ip.rs index c080f783cbb..140647128a9 100644 --- a/library/std/src/net/ip.rs +++ b/library/std/src/net/ip.rs @@ -518,6 +518,7 @@ impl Ipv4Addr { /// ``` #[rustc_const_stable(feature = "const_ipv4", since = "1.50.0")] #[stable(feature = "rust1", since = "1.0.0")] + #[must_use] #[inline] pub const fn octets(&self) -> [u8; 4] { // This returns the order we want because s_addr is stored in big-endian. @@ -1284,6 +1285,7 @@ impl Ipv6Addr { /// ``` #[rustc_const_stable(feature = "const_ipv6", since = "1.50.0")] #[stable(feature = "rust1", since = "1.0.0")] + #[must_use] #[inline] pub const fn segments(&self) -> [u16; 8] { // All elements in `s6_addr` must be big endian. @@ -1594,6 +1596,7 @@ impl Ipv6Addr { /// ``` #[rustc_const_unstable(feature = "const_ipv6", issue = "76205")] #[unstable(feature = "ip", issue = "27709")] + #[must_use] #[inline] pub const fn multicast_scope(&self) -> Option { if self.is_multicast() { @@ -1744,6 +1747,7 @@ impl Ipv6Addr { /// ``` #[rustc_const_stable(feature = "const_ipv6", since = "1.32.0")] #[stable(feature = "ipv6_to_octets", since = "1.12.0")] + #[must_use] #[inline] pub const fn octets(&self) -> [u8; 16] { self.inner.s6_addr diff --git a/library/std/src/net/tcp.rs b/library/std/src/net/tcp.rs index 2c6e3930059..5738862fb58 100644 --- a/library/std/src/net/tcp.rs +++ b/library/std/src/net/tcp.rs @@ -90,6 +90,7 @@ pub struct TcpListener(net_imp::TcpListener); /// See its documentation for more. /// /// [`accept`]: TcpListener::accept +#[must_use = "iterators are lazy and do nothing unless consumed"] #[stable(feature = "rust1", since = "1.0.0")] #[derive(Debug)] pub struct Incoming<'a> { diff --git a/src/test/ui/rust-2018/uniform-paths/redundant.rs b/src/test/ui/rust-2018/uniform-paths/redundant.rs index 2d306eb920c..fd7fc7fbd41 100644 --- a/src/test/ui/rust-2018/uniform-paths/redundant.rs +++ b/src/test/ui/rust-2018/uniform-paths/redundant.rs @@ -13,8 +13,8 @@ mod bar { } fn main() { - io::stdout(); - self::std::io::stdout(); - foo::my_std::io::stdout(); - bar::std::io::stdout(); + let _ = io::stdout(); + let _ = self::std::io::stdout(); + let _ = foo::my_std::io::stdout(); + let _ = bar::std::io::stdout(); } diff --git a/src/test/ui/uniform-paths/basic-nested.rs b/src/test/ui/uniform-paths/basic-nested.rs index e4e8b32c70e..dcf0eb646f3 100644 --- a/src/test/ui/uniform-paths/basic-nested.rs +++ b/src/test/ui/uniform-paths/basic-nested.rs @@ -44,10 +44,10 @@ mod bar { fn main() { foo::Foo(()); - foo::std_io::stdout(); + let _ = foo::std_io::stdout(); foo::local_io(()); - io::stdout(); - bar::io::stdout(); + let _ = io::stdout(); + let _ = bar::io::stdout(); bar::std(); bar::std!(); @@ -56,6 +56,6 @@ fn main() { // scope is allowed, when both resolve to the same definition. use std::io; use io::stdout; - stdout(); + let _ = stdout(); } } diff --git a/src/test/ui/uniform-paths/basic.rs b/src/test/ui/uniform-paths/basic.rs index 4e2e2dedef6..ce611a7cacf 100644 --- a/src/test/ui/uniform-paths/basic.rs +++ b/src/test/ui/uniform-paths/basic.rs @@ -20,7 +20,7 @@ use self::std::io as local_io; fn main() { Foo(()); - std_io::stdout(); + let _ = std_io::stdout(); local_io(()); { @@ -28,6 +28,6 @@ fn main() { // scope is allowed, when both resolve to the same definition. use ::std::io as std_io; use std_io::stdout; - stdout(); + let _ = stdout(); } } diff --git a/src/test/ui/uniform-paths/macros-nested.rs b/src/test/ui/uniform-paths/macros-nested.rs index a62a28bb94d..175ccd34e98 100644 --- a/src/test/ui/uniform-paths/macros-nested.rs +++ b/src/test/ui/uniform-paths/macros-nested.rs @@ -46,8 +46,8 @@ mod bar { fn main() { foo::Foo(()); - foo::std_io::stdout(); + let _ = foo::std_io::stdout(); foo::local_io(()); - io::stdout(); - bar::io::stdout(); + let _ = io::stdout(); + let _ = bar::io::stdout(); } diff --git a/src/test/ui/uniform-paths/macros.rs b/src/test/ui/uniform-paths/macros.rs index 31b809f0cfd..bf512b30560 100644 --- a/src/test/ui/uniform-paths/macros.rs +++ b/src/test/ui/uniform-paths/macros.rs @@ -31,6 +31,6 @@ m2!(); fn main() { Foo(()); - std_io::stdout(); + let _ = std_io::stdout(); local_io(()); }