diff --git a/src/libcore/cmp.rs b/src/libcore/cmp.rs index 06e7e45c7014e..3ea4baa57b49e 100644 --- a/src/libcore/cmp.rs +++ b/src/libcore/cmp.rs @@ -821,10 +821,7 @@ pub trait PartialOrd: PartialEq { #[must_use] #[stable(feature = "rust1", since = "1.0.0")] fn lt(&self, other: &Rhs) -> bool { - match self.partial_cmp(other) { - Some(Less) => true, - _ => false, - } + matches!(self.partial_cmp(other), Some(Less)) } /// This method tests less than or equal to (for `self` and `other`) and is used by the `<=` @@ -843,10 +840,7 @@ pub trait PartialOrd: PartialEq { #[must_use] #[stable(feature = "rust1", since = "1.0.0")] fn le(&self, other: &Rhs) -> bool { - match self.partial_cmp(other) { - Some(Less) | Some(Equal) => true, - _ => false, - } + matches!(self.partial_cmp(other), Some(Less) | Some(Equal)) } /// This method tests greater than (for `self` and `other`) and is used by the `>` operator. @@ -864,10 +858,7 @@ pub trait PartialOrd: PartialEq { #[must_use] #[stable(feature = "rust1", since = "1.0.0")] fn gt(&self, other: &Rhs) -> bool { - match self.partial_cmp(other) { - Some(Greater) => true, - _ => false, - } + matches!(self.partial_cmp(other), Some(Greater)) } /// This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` @@ -886,10 +877,7 @@ pub trait PartialOrd: PartialEq { #[must_use] #[stable(feature = "rust1", since = "1.0.0")] fn ge(&self, other: &Rhs) -> bool { - match self.partial_cmp(other) { - Some(Greater) | Some(Equal) => true, - _ => false, - } + matches!(self.partial_cmp(other), Some(Greater) | Some(Equal)) } } diff --git a/src/libcore/iter/traits/iterator.rs b/src/libcore/iter/traits/iterator.rs index c958289b2c935..21a569867b178 100644 --- a/src/libcore/iter/traits/iterator.rs +++ b/src/libcore/iter/traits/iterator.rs @@ -2968,10 +2968,7 @@ pub trait Iterator { Self::Item: PartialOrd, Self: Sized, { - match self.partial_cmp(other) { - Some(Ordering::Less) | Some(Ordering::Equal) => true, - _ => false, - } + matches!(self.partial_cmp(other), Some(Ordering::Less) | Some(Ordering::Equal)) } /// Determines if the elements of this `Iterator` are lexicographically @@ -3011,10 +3008,7 @@ pub trait Iterator { Self::Item: PartialOrd, Self: Sized, { - match self.partial_cmp(other) { - Some(Ordering::Greater) | Some(Ordering::Equal) => true, - _ => false, - } + matches!(self.partial_cmp(other), Some(Ordering::Greater) | Some(Ordering::Equal)) } /// Checks if the elements of this iterator are sorted. diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs index b6b4a46e0b812..5f8cfc6392066 100644 --- a/src/libcore/num/mod.rs +++ b/src/libcore/num/mod.rs @@ -4283,10 +4283,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_alphabetic(&self) -> bool { - match *self { - b'A'..=b'Z' | b'a'..=b'z' => true, - _ => false, - } + matches!(*self, b'A'..=b'Z' | b'a'..=b'z') } /// Checks if the value is an ASCII uppercase character: @@ -4318,10 +4315,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_uppercase(&self) -> bool { - match *self { - b'A'..=b'Z' => true, - _ => false, - } + matches!(*self, b'A'..=b'Z') } /// Checks if the value is an ASCII lowercase character: @@ -4353,10 +4347,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_lowercase(&self) -> bool { - match *self { - b'a'..=b'z' => true, - _ => false, - } + matches!(*self, b'a'..=b'z') } /// Checks if the value is an ASCII alphanumeric character: @@ -4391,10 +4382,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_alphanumeric(&self) -> bool { - match *self { - b'0'..=b'9' | b'A'..=b'Z' | b'a'..=b'z' => true, - _ => false, - } + matches!(*self, b'0'..=b'9' | b'A'..=b'Z' | b'a'..=b'z') } /// Checks if the value is an ASCII decimal digit: @@ -4426,10 +4414,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_digit(&self) -> bool { - match *self { - b'0'..=b'9' => true, - _ => false, - } + matches!(*self, b'0'..=b'9') } /// Checks if the value is an ASCII hexadecimal digit: @@ -4464,10 +4449,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_hexdigit(&self) -> bool { - match *self { - b'0'..=b'9' | b'A'..=b'F' | b'a'..=b'f' => true, - _ => false, - } + matches!(*self, b'0'..=b'9' | b'A'..=b'F' | b'a'..=b'f') } /// Checks if the value is an ASCII punctuation character: @@ -4503,10 +4485,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_punctuation(&self) -> bool { - match *self { - b'!'..=b'/' | b':'..=b'@' | b'['..=b'`' | b'{'..=b'~' => true, - _ => false, - } + matches!(*self, b'!'..=b'/' | b':'..=b'@' | b'['..=b'`' | b'{'..=b'~') } /// Checks if the value is an ASCII graphic character: @@ -4538,10 +4517,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_graphic(&self) -> bool { - match *self { - b'!'..=b'~' => true, - _ => false, - } + matches!(*self, b'!'..=b'~') } /// Checks if the value is an ASCII whitespace character: @@ -4590,10 +4566,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_whitespace(&self) -> bool { - match *self { - b'\t' | b'\n' | b'\x0C' | b'\r' | b' ' => true, - _ => false, - } + matches!(*self, b'\t' | b'\n' | b'\x0C' | b'\r' | b' ') } /// Checks if the value is an ASCII control character: @@ -4627,10 +4600,7 @@ impl u8 { #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")] #[inline] pub fn is_ascii_control(&self) -> bool { - match *self { - b'\0'..=b'\x1F' | b'\x7F' => true, - _ => false, - } + matches!(*self, b'\0'..=b'\x1F' | b'\x7F') } } diff --git a/src/libcore/option.rs b/src/libcore/option.rs index 2066a484dac80..82a832c6d59b6 100644 --- a/src/libcore/option.rs +++ b/src/libcore/option.rs @@ -187,10 +187,7 @@ impl Option { #[inline] #[stable(feature = "rust1", since = "1.0.0")] pub fn is_some(&self) -> bool { - match *self { - Some(_) => true, - None => false, - } + matches!(*self, Some(_)) } /// Returns `true` if the option is a [`None`] value. diff --git a/src/libcore/result.rs b/src/libcore/result.rs index 5cfc81097dd44..e42440fed92a2 100644 --- a/src/libcore/result.rs +++ b/src/libcore/result.rs @@ -282,10 +282,7 @@ impl Result { #[inline] #[stable(feature = "rust1", since = "1.0.0")] pub const fn is_ok(&self) -> bool { - match *self { - Ok(_) => true, - Err(_) => false, - } + matches!(*self, Ok(_)) } /// Returns `true` if the result is [`Err`]. diff --git a/src/libcore/str/pattern.rs b/src/libcore/str/pattern.rs index 2cbdeb2e4eed8..46d9499394a38 100644 --- a/src/libcore/str/pattern.rs +++ b/src/libcore/str/pattern.rs @@ -46,10 +46,7 @@ pub trait Pattern<'a>: Sized { /// Checks whether the pattern matches at the front of the haystack #[inline] fn is_prefix_of(self, haystack: &'a str) -> bool { - match self.into_searcher(haystack).next() { - SearchStep::Match(0, _) => true, - _ => false, - } + matches!(self.into_searcher(haystack).next(), SearchStep::Match(0, _)) } /// Checks whether the pattern matches at the back of the haystack @@ -58,10 +55,7 @@ pub trait Pattern<'a>: Sized { where Self::Searcher: ReverseSearcher<'a>, { - match self.into_searcher(haystack).next_back() { - SearchStep::Match(_, j) if haystack.len() == j => true, - _ => false, - } + matches!(self.into_searcher(haystack).next_back(), SearchStep::Match(_, j) if haystack.len() == j) } } diff --git a/src/libcore/task/poll.rs b/src/libcore/task/poll.rs index d567ae545774e..b3a4bd20b8f04 100644 --- a/src/libcore/task/poll.rs +++ b/src/libcore/task/poll.rs @@ -39,10 +39,7 @@ impl Poll { #[inline] #[stable(feature = "futures_api", since = "1.36.0")] pub fn is_ready(&self) -> bool { - match *self { - Poll::Ready(_) => true, - Poll::Pending => false, - } + matches!(*self, Poll::Ready(_)) } /// Returns `true` if this is `Poll::Pending` diff --git a/src/libstd/net/addr.rs b/src/libstd/net/addr.rs index a9d88370c612f..a59d7f0263bb0 100644 --- a/src/libstd/net/addr.rs +++ b/src/libstd/net/addr.rs @@ -227,10 +227,7 @@ impl SocketAddr { /// ``` #[stable(feature = "sockaddr_checker", since = "1.16.0")] pub fn is_ipv4(&self) -> bool { - match *self { - SocketAddr::V4(_) => true, - SocketAddr::V6(_) => false, - } + matches!(*self, SocketAddr::V4(_)) } /// Returns [`true`] if the [IP address] in this `SocketAddr` is an @@ -252,10 +249,7 @@ impl SocketAddr { /// ``` #[stable(feature = "sockaddr_checker", since = "1.16.0")] pub fn is_ipv6(&self) -> bool { - match *self { - SocketAddr::V4(_) => false, - SocketAddr::V6(_) => true, - } + matches!(*self, SocketAddr::V6(_)) } } diff --git a/src/libstd/net/ip.rs b/src/libstd/net/ip.rs index 15d2361acd916..6410a4f2b65b3 100644 --- a/src/libstd/net/ip.rs +++ b/src/libstd/net/ip.rs @@ -281,10 +281,7 @@ impl IpAddr { /// ``` #[stable(feature = "ipaddr_checker", since = "1.16.0")] pub fn is_ipv4(&self) -> bool { - match self { - IpAddr::V4(_) => true, - IpAddr::V6(_) => false, - } + matches!(self, IpAddr::V4(_)) } /// Returns [`true`] if this address is an [IPv6 address], and [`false`] otherwise. @@ -303,10 +300,7 @@ impl IpAddr { /// ``` #[stable(feature = "ipaddr_checker", since = "1.16.0")] pub fn is_ipv6(&self) -> bool { - match self { - IpAddr::V4(_) => false, - IpAddr::V6(_) => true, - } + matches!(self, IpAddr::V6(_)) } } diff --git a/src/libstd/path.rs b/src/libstd/path.rs index f308d511cf850..fbbdc1ddac297 100644 --- a/src/libstd/path.rs +++ b/src/libstd/path.rs @@ -224,18 +224,12 @@ impl<'a> Prefix<'a> { #[stable(feature = "rust1", since = "1.0.0")] pub fn is_verbatim(&self) -> bool { use self::Prefix::*; - match *self { - Verbatim(_) | VerbatimDisk(_) | VerbatimUNC(..) => true, - _ => false, - } + matches!(*self, Verbatim(_) | VerbatimDisk(_) | VerbatimUNC(..)) } #[inline] fn is_drive(&self) -> bool { - match *self { - Prefix::Disk(_) => true, - _ => false, - } + matches!(*self, Prefix::Disk(_)) } #[inline] diff --git a/src/libstd/sync/barrier.rs b/src/libstd/sync/barrier.rs index eddbdff257a99..01314370ce399 100644 --- a/src/libstd/sync/barrier.rs +++ b/src/libstd/sync/barrier.rs @@ -199,10 +199,7 @@ mod tests { // At this point, all spawned threads should be blocked, // so we shouldn't get anything from the port - assert!(match rx.try_recv() { - Err(TryRecvError::Empty) => true, - _ => false, - }); + assert!(matches!(rx.try_recv(), Err(TryRecvError::Empty))); let mut leader_found = barrier.wait().is_leader(); diff --git a/src/libstd/sync/mpsc/oneshot.rs b/src/libstd/sync/mpsc/oneshot.rs index bbe77e7d0fb5c..5b41525e06aaa 100644 --- a/src/libstd/sync/mpsc/oneshot.rs +++ b/src/libstd/sync/mpsc/oneshot.rs @@ -118,12 +118,7 @@ impl Packet { // Just tests whether this channel has been sent on or not, this is only // safe to use from the sender. pub fn sent(&self) -> bool { - unsafe { - match *self.upgrade.get() { - NothingSent => false, - _ => true, - } - } + unsafe { !matches!(*self.upgrade.get(), NothingSent) } } pub fn recv(&self, deadline: Option) -> Result> {