Skip to content

Commit

Permalink
Test all types supported by [collection_is_never_read]
Browse files Browse the repository at this point in the history
Demonstrate false negative for `String` as discussed in rust-lang#10572.
  • Loading branch information
schubart committed Apr 10, 2023
1 parent 4904d75 commit 46a32e8
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 1 deletion.
34 changes: 34 additions & 0 deletions tests/ui/collection_is_never_read.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,37 @@ fn function_argument() {
let x = vec![1, 2, 3]; // Ok
foo(&x);
}

fn supported_types() {
let mut x = std::collections::BTreeMap::new(); // WARNING
x.insert(true, 1);

let mut x = std::collections::BTreeSet::new(); // WARNING
x.insert(1);

let mut x = std::collections::BinaryHeap::new(); // WARNING
x.push(1);

let mut x = std::collections::HashMap::new(); // WARNING
x.insert(1, 2);

let mut x = std::collections::HashSet::new(); // WARNING
x.insert(1);

let mut x = std::collections::LinkedList::new(); // WARNING
x.push_front(1);

let mut x = Some(true); // WARNING
x.insert(false);

// https://github.com/rust-lang/rust-clippy/issues/10572#issuecomment-1498760833
let mut x = String::from("hello"); // False negative
x.push('!');

let mut x = Vec::new(); // WARNING
x.clear();
x.push(1);

let mut x = std::collections::VecDeque::new(); // WARNING
x.push_front(1);
}
56 changes: 55 additions & 1 deletion tests/ui/collection_is_never_read.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,59 @@ error: collection is never read
LL | let x = vec![1, 2, 3]; // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 8 previous errors
error: collection is never read
--> $DIR/collection_is_never_read.rs:168:5
|
LL | let mut x = std::collections::BTreeMap::new(); // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: collection is never read
--> $DIR/collection_is_never_read.rs:171:5
|
LL | let mut x = std::collections::BTreeSet::new(); // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: collection is never read
--> $DIR/collection_is_never_read.rs:174:5
|
LL | let mut x = std::collections::BinaryHeap::new(); // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: collection is never read
--> $DIR/collection_is_never_read.rs:177:5
|
LL | let mut x = std::collections::HashMap::new(); // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: collection is never read
--> $DIR/collection_is_never_read.rs:180:5
|
LL | let mut x = std::collections::HashSet::new(); // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: collection is never read
--> $DIR/collection_is_never_read.rs:183:5
|
LL | let mut x = std::collections::LinkedList::new(); // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: collection is never read
--> $DIR/collection_is_never_read.rs:186:5
|
LL | let mut x = Some(true); // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^^

error: collection is never read
--> $DIR/collection_is_never_read.rs:193:5
|
LL | let mut x = Vec::new(); // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^^

error: collection is never read
--> $DIR/collection_is_never_read.rs:197:5
|
LL | let mut x = std::collections::VecDeque::new(); // WARNING
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 17 previous errors

0 comments on commit 46a32e8

Please sign in to comment.