mirror of https://github.com/rust-lang/rust.git
Rollup merge of #89786 - jkugelman:must-use-len-and-is_empty, r=joshtriplett
Add #[must_use] to len and is_empty Parent issue: #89692 r? `@joshtriplett`
This commit is contained in:
commit
88e5ae2dd3
|
@ -1052,6 +1052,7 @@ impl<T> BinaryHeap<T> {
|
|||
///
|
||||
/// assert_eq!(heap.len(), 2);
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn len(&self) -> usize {
|
||||
self.data.len()
|
||||
|
@ -1075,6 +1076,7 @@ impl<T> BinaryHeap<T> {
|
|||
///
|
||||
/// assert!(!heap.is_empty());
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.len() == 0
|
||||
|
|
|
@ -2212,6 +2212,7 @@ impl<K, V> BTreeMap<K, V> {
|
|||
/// a.insert(1, "a");
|
||||
/// assert_eq!(a.len(), 1);
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_unstable(feature = "const_btree_new", issue = "71835")]
|
||||
pub const fn len(&self) -> usize {
|
||||
|
@ -2232,6 +2233,7 @@ impl<K, V> BTreeMap<K, V> {
|
|||
/// a.insert(1, "a");
|
||||
/// assert!(!a.is_empty());
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_unstable(feature = "const_btree_new", issue = "71835")]
|
||||
pub const fn is_empty(&self) -> bool {
|
||||
|
|
|
@ -1046,6 +1046,7 @@ impl<T> BTreeSet<T> {
|
|||
/// v.insert(1);
|
||||
/// assert_eq!(v.len(), 1);
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_unstable(feature = "const_btree_new", issue = "71835")]
|
||||
pub const fn len(&self) -> usize {
|
||||
|
@ -1064,6 +1065,7 @@ impl<T> BTreeSet<T> {
|
|||
/// v.insert(1);
|
||||
/// assert!(!v.is_empty());
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_unstable(feature = "const_btree_new", issue = "71835")]
|
||||
pub const fn is_empty(&self) -> bool {
|
||||
|
|
|
@ -610,8 +610,8 @@ fn test_send() {
|
|||
#[test]
|
||||
fn test_ord_absence() {
|
||||
fn set<K>(mut set: BTreeSet<K>) {
|
||||
set.is_empty();
|
||||
set.len();
|
||||
let _ = set.is_empty();
|
||||
let _ = set.len();
|
||||
set.clear();
|
||||
let _ = set.iter();
|
||||
let _ = set.into_iter();
|
||||
|
|
|
@ -583,6 +583,7 @@ impl<T> LinkedList<T> {
|
|||
/// assert!(!dl.is_empty());
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.head.is_none()
|
||||
|
@ -609,6 +610,7 @@ impl<T> LinkedList<T> {
|
|||
/// assert_eq!(dl.len(), 3);
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn len(&self) -> usize {
|
||||
self.len
|
||||
|
|
|
@ -1547,6 +1547,7 @@ impl String {
|
|||
/// assert_eq!(fancy_f.chars().count(), 3);
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn len(&self) -> usize {
|
||||
self.vec.len()
|
||||
|
@ -1566,6 +1567,7 @@ impl String {
|
|||
/// assert!(!v.is_empty());
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.len() == 0
|
||||
|
|
|
@ -449,6 +449,7 @@ impl<T> NonNull<[T]> {
|
|||
/// ```
|
||||
#[unstable(feature = "slice_ptr_len", issue = "71146")]
|
||||
#[rustc_const_unstable(feature = "const_slice_ptr_len", issue = "71146")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn len(self) -> usize {
|
||||
self.as_ptr().len()
|
||||
|
|
|
@ -140,6 +140,7 @@ impl str {
|
|||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_stable(feature = "const_str_len", since = "1.39.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn len(&self) -> usize {
|
||||
self.as_bytes().len()
|
||||
|
@ -158,9 +159,10 @@ impl str {
|
|||
/// let s = "not empty";
|
||||
/// assert!(!s.is_empty());
|
||||
/// ```
|
||||
#[inline]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_stable(feature = "const_str_is_empty", since = "1.39.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn is_empty(&self) -> bool {
|
||||
self.len() == 0
|
||||
}
|
||||
|
|
|
@ -669,6 +669,7 @@ impl OsStr {
|
|||
/// assert!(!os_str.is_empty());
|
||||
/// ```
|
||||
#[stable(feature = "osstring_simple_functions", since = "1.9.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.inner.inner.is_empty()
|
||||
|
@ -700,6 +701,7 @@ impl OsStr {
|
|||
/// assert_eq!(os_str.len(), 3);
|
||||
/// ```
|
||||
#[stable(feature = "osstring_simple_functions", since = "1.9.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn len(&self) -> usize {
|
||||
self.inner.inner.len()
|
||||
|
|
|
@ -1080,6 +1080,7 @@ impl Metadata {
|
|||
/// Ok(())
|
||||
/// }
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn len(&self) -> u64 {
|
||||
self.0.size()
|
||||
|
|
|
@ -431,12 +431,14 @@ impl<'a> SocketAncillary<'a> {
|
|||
}
|
||||
|
||||
/// Returns `true` if the ancillary data is empty.
|
||||
#[must_use]
|
||||
#[unstable(feature = "unix_socket_ancillary_data", issue = "76915")]
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.length == 0
|
||||
}
|
||||
|
||||
/// Returns the number of used bytes.
|
||||
#[must_use]
|
||||
#[unstable(feature = "unix_socket_ancillary_data", issue = "76915")]
|
||||
pub fn len(&self) -> usize {
|
||||
self.length
|
||||
|
|
|
@ -33,6 +33,7 @@ impl HasIter {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(unused_must_use)]
|
||||
fn main() {
|
||||
let mut vec = vec![0, 1, 2, 3];
|
||||
let mut boxed_slice: Box<[u8]> = Box::new([0, 1, 2, 3]);
|
||||
|
@ -50,7 +51,7 @@ fn main() {
|
|||
linked_list.push_back(1);
|
||||
binary_heap.push(1);
|
||||
|
||||
let _ = &vec[..].len();
|
||||
&vec[..].len();
|
||||
vec.len();
|
||||
boxed_slice.len();
|
||||
vec_deque.len();
|
||||
|
@ -62,13 +63,13 @@ fn main() {
|
|||
binary_heap.len();
|
||||
|
||||
vec.len();
|
||||
let _ = &vec[..].len();
|
||||
&vec[..].len();
|
||||
vec_deque.len();
|
||||
hash_map.len();
|
||||
b_tree_map.len();
|
||||
linked_list.len();
|
||||
|
||||
let _ = &vec[..].len();
|
||||
&vec[..].len();
|
||||
vec.len();
|
||||
vec_deque.len();
|
||||
hash_set.len();
|
||||
|
|
|
@ -33,6 +33,7 @@ impl HasIter {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(unused_must_use)]
|
||||
fn main() {
|
||||
let mut vec = vec![0, 1, 2, 3];
|
||||
let mut boxed_slice: Box<[u8]> = Box::new([0, 1, 2, 3]);
|
||||
|
@ -50,7 +51,7 @@ fn main() {
|
|||
linked_list.push_back(1);
|
||||
binary_heap.push(1);
|
||||
|
||||
let _ = &vec[..].iter().count();
|
||||
&vec[..].iter().count();
|
||||
vec.iter().count();
|
||||
boxed_slice.iter().count();
|
||||
vec_deque.iter().count();
|
||||
|
@ -62,13 +63,13 @@ fn main() {
|
|||
binary_heap.iter().count();
|
||||
|
||||
vec.iter_mut().count();
|
||||
let _ = &vec[..].iter_mut().count();
|
||||
&vec[..].iter_mut().count();
|
||||
vec_deque.iter_mut().count();
|
||||
hash_map.iter_mut().count();
|
||||
b_tree_map.iter_mut().count();
|
||||
linked_list.iter_mut().count();
|
||||
|
||||
let _ = &vec[..].into_iter().count();
|
||||
&vec[..].into_iter().count();
|
||||
vec.into_iter().count();
|
||||
vec_deque.into_iter().count();
|
||||
hash_set.into_iter().count();
|
||||
|
|
|
@ -1,151 +1,151 @@
|
|||
error: called `.iter().count()` on a `slice`
|
||||
--> $DIR/iter_count.rs:53:14
|
||||
--> $DIR/iter_count.rs:54:6
|
||||
|
|
||||
LL | let _ = &vec[..].iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec[..].len()`
|
||||
LL | &vec[..].iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec[..].len()`
|
||||
|
|
||||
= note: `-D clippy::iter-count` implied by `-D warnings`
|
||||
|
||||
error: called `.iter().count()` on a `Vec`
|
||||
--> $DIR/iter_count.rs:54:5
|
||||
--> $DIR/iter_count.rs:55:5
|
||||
|
|
||||
LL | vec.iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^ help: try: `vec.len()`
|
||||
|
||||
error: called `.iter().count()` on a `slice`
|
||||
--> $DIR/iter_count.rs:55:5
|
||||
--> $DIR/iter_count.rs:56:5
|
||||
|
|
||||
LL | boxed_slice.iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `boxed_slice.len()`
|
||||
|
||||
error: called `.iter().count()` on a `VecDeque`
|
||||
--> $DIR/iter_count.rs:56:5
|
||||
--> $DIR/iter_count.rs:57:5
|
||||
|
|
||||
LL | vec_deque.iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec_deque.len()`
|
||||
|
||||
error: called `.iter().count()` on a `HashSet`
|
||||
--> $DIR/iter_count.rs:57:5
|
||||
--> $DIR/iter_count.rs:58:5
|
||||
|
|
||||
LL | hash_set.iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `hash_set.len()`
|
||||
|
||||
error: called `.iter().count()` on a `HashMap`
|
||||
--> $DIR/iter_count.rs:58:5
|
||||
--> $DIR/iter_count.rs:59:5
|
||||
|
|
||||
LL | hash_map.iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `hash_map.len()`
|
||||
|
||||
error: called `.iter().count()` on a `BTreeMap`
|
||||
--> $DIR/iter_count.rs:59:5
|
||||
--> $DIR/iter_count.rs:60:5
|
||||
|
|
||||
LL | b_tree_map.iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b_tree_map.len()`
|
||||
|
||||
error: called `.iter().count()` on a `BTreeSet`
|
||||
--> $DIR/iter_count.rs:60:5
|
||||
--> $DIR/iter_count.rs:61:5
|
||||
|
|
||||
LL | b_tree_set.iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b_tree_set.len()`
|
||||
|
||||
error: called `.iter().count()` on a `LinkedList`
|
||||
--> $DIR/iter_count.rs:61:5
|
||||
--> $DIR/iter_count.rs:62:5
|
||||
|
|
||||
LL | linked_list.iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `linked_list.len()`
|
||||
|
||||
error: called `.iter().count()` on a `BinaryHeap`
|
||||
--> $DIR/iter_count.rs:62:5
|
||||
--> $DIR/iter_count.rs:63:5
|
||||
|
|
||||
LL | binary_heap.iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `binary_heap.len()`
|
||||
|
||||
error: called `.iter_mut().count()` on a `Vec`
|
||||
--> $DIR/iter_count.rs:64:5
|
||||
--> $DIR/iter_count.rs:65:5
|
||||
|
|
||||
LL | vec.iter_mut().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.len()`
|
||||
|
||||
error: called `.iter_mut().count()` on a `slice`
|
||||
--> $DIR/iter_count.rs:65:14
|
||||
--> $DIR/iter_count.rs:66:6
|
||||
|
|
||||
LL | let _ = &vec[..].iter_mut().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec[..].len()`
|
||||
LL | &vec[..].iter_mut().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec[..].len()`
|
||||
|
||||
error: called `.iter_mut().count()` on a `VecDeque`
|
||||
--> $DIR/iter_count.rs:66:5
|
||||
--> $DIR/iter_count.rs:67:5
|
||||
|
|
||||
LL | vec_deque.iter_mut().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec_deque.len()`
|
||||
|
||||
error: called `.iter_mut().count()` on a `HashMap`
|
||||
--> $DIR/iter_count.rs:67:5
|
||||
--> $DIR/iter_count.rs:68:5
|
||||
|
|
||||
LL | hash_map.iter_mut().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `hash_map.len()`
|
||||
|
||||
error: called `.iter_mut().count()` on a `BTreeMap`
|
||||
--> $DIR/iter_count.rs:68:5
|
||||
--> $DIR/iter_count.rs:69:5
|
||||
|
|
||||
LL | b_tree_map.iter_mut().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b_tree_map.len()`
|
||||
|
||||
error: called `.iter_mut().count()` on a `LinkedList`
|
||||
--> $DIR/iter_count.rs:69:5
|
||||
--> $DIR/iter_count.rs:70:5
|
||||
|
|
||||
LL | linked_list.iter_mut().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `linked_list.len()`
|
||||
|
||||
error: called `.into_iter().count()` on a `slice`
|
||||
--> $DIR/iter_count.rs:71:14
|
||||
--> $DIR/iter_count.rs:72:6
|
||||
|
|
||||
LL | let _ = &vec[..].into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec[..].len()`
|
||||
LL | &vec[..].into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec[..].len()`
|
||||
|
||||
error: called `.into_iter().count()` on a `Vec`
|
||||
--> $DIR/iter_count.rs:72:5
|
||||
--> $DIR/iter_count.rs:73:5
|
||||
|
|
||||
LL | vec.into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.len()`
|
||||
|
||||
error: called `.into_iter().count()` on a `VecDeque`
|
||||
--> $DIR/iter_count.rs:73:5
|
||||
--> $DIR/iter_count.rs:74:5
|
||||
|
|
||||
LL | vec_deque.into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec_deque.len()`
|
||||
|
||||
error: called `.into_iter().count()` on a `HashSet`
|
||||
--> $DIR/iter_count.rs:74:5
|
||||
--> $DIR/iter_count.rs:75:5
|
||||
|
|
||||
LL | hash_set.into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `hash_set.len()`
|
||||
|
||||
error: called `.into_iter().count()` on a `HashMap`
|
||||
--> $DIR/iter_count.rs:75:5
|
||||
--> $DIR/iter_count.rs:76:5
|
||||
|
|
||||
LL | hash_map.into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `hash_map.len()`
|
||||
|
||||
error: called `.into_iter().count()` on a `BTreeMap`
|
||||
--> $DIR/iter_count.rs:76:5
|
||||
--> $DIR/iter_count.rs:77:5
|
||||
|
|
||||
LL | b_tree_map.into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b_tree_map.len()`
|
||||
|
||||
error: called `.into_iter().count()` on a `BTreeSet`
|
||||
--> $DIR/iter_count.rs:77:5
|
||||
--> $DIR/iter_count.rs:78:5
|
||||
|
|
||||
LL | b_tree_set.into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b_tree_set.len()`
|
||||
|
||||
error: called `.into_iter().count()` on a `LinkedList`
|
||||
--> $DIR/iter_count.rs:78:5
|
||||
--> $DIR/iter_count.rs:79:5
|
||||
|
|
||||
LL | linked_list.into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `linked_list.len()`
|
||||
|
||||
error: called `.into_iter().count()` on a `BinaryHeap`
|
||||
--> $DIR/iter_count.rs:79:5
|
||||
--> $DIR/iter_count.rs:80:5
|
||||
|
|
||||
LL | binary_heap.into_iter().count();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `binary_heap.len()`
|
||||
|
|
Loading…
Reference in New Issue