Skip to content

Rustup #7929

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Nov 4, 2021
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ path = "src/driver.rs"

[dependencies]
clippy_lints = { version = "0.1", path = "clippy_lints" }
semver = "0.11"
semver = "1.0"
rustc_tools_util = { version = "0.2", path = "rustc_tools_util" }
tempfile = { version = "3.2", optional = true }

[dev-dependencies]
cargo_metadata = "0.12"
cargo_metadata = "0.14"
compiletest_rs = { version = "0.7.1", features = ["tmp"] }
tester = "0.9"
regex = "1.5"
Expand Down
4 changes: 2 additions & 2 deletions clippy_lints/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ keywords = ["clippy", "lint", "plugin"]
edition = "2021"

[dependencies]
cargo_metadata = "0.12"
cargo_metadata = "0.14"
clippy_utils = { path = "../clippy_utils" }
if_chain = "1.0"
itertools = "0.10"
Expand All @@ -21,7 +21,7 @@ serde_json = { version = "1.0", optional = true }
toml = "0.5"
unicode-normalization = "0.1"
unicode-script = { version = "0.5", default-features = false }
semver = "0.11"
semver = "1.0"
rustc-semver = "1.1"
# NOTE: cargo requires serde feat in its url dep
# see <https://github.com/rust-lang/rust/pull/63587#issuecomment-522343864>
Expand Down
8 changes: 1 addition & 7 deletions clippy_lints/src/vec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,7 @@ impl<'tcx> LateLintPass<'tcx> for UselessVec {
if is_copy(cx, vec_type(cx.typeck_results().expr_ty_adjusted(arg)));
then {
// report the error around the `vec!` not inside `<std macros>:`
let span = arg.span
.ctxt()
.outer_expn_data()
.call_site
.ctxt()
.outer_expn_data()
.call_site;
let span = arg.span.ctxt().outer_expn_data().call_site;
self.check_vec_macro(cx, &vec_args, Mutability::Not, span);
}
}
Expand Down
2 changes: 1 addition & 1 deletion rust-toolchain
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[toolchain]
channel = "nightly-2021-10-21"
channel = "nightly-2021-11-04"
components = ["llvm-tools-preview", "rustc-dev", "rust-src"]
4 changes: 2 additions & 2 deletions tests/ui/crashes/ice-6252.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ LL | _n: PhantomData,
|
help: consider importing one of these items
|
LL | use core::marker::PhantomData;
|
LL | use serde::__private::PhantomData;
|
LL | use std::marker::PhantomData;
|
LL | use core::marker::PhantomData;
|

error[E0412]: cannot find type `VAL` in this scope
--> $DIR/ice-6252.rs:10:63
Expand Down
7 changes: 4 additions & 3 deletions tests/ui/iter_count.fixed
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
Expand All @@ -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();
Expand All @@ -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();
Expand Down
7 changes: 4 additions & 3 deletions tests/ui/iter_count.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
Expand All @@ -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();
Expand All @@ -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();
Expand Down
62 changes: 31 additions & 31 deletions tests/ui/iter_count.stderr
Original file line number Diff line number Diff line change
@@ -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()`
Expand Down
20 changes: 10 additions & 10 deletions tests/ui/nonminimal_bool.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ LL | let _ = a == b && c == 5 && a == b;
|
help: try
|
LL | let _ = a == b && c == 5;
| ~~~~~~~~~~~~~~~~
LL | let _ = !(a != b || c != 5);
| ~~~~~~~~~~~~~~~~~~~
LL | let _ = a == b && c == 5;
| ~~~~~~~~~~~~~~~~

error: this boolean expression can be simplified
--> $DIR/nonminimal_bool.rs:28:13
Expand All @@ -63,10 +63,10 @@ LL | let _ = a == b || c == 5 || a == b;
|
help: try
|
LL | let _ = a == b || c == 5;
| ~~~~~~~~~~~~~~~~
LL | let _ = !(a != b && c != 5);
| ~~~~~~~~~~~~~~~~~~~
LL | let _ = a == b || c == 5;
| ~~~~~~~~~~~~~~~~

error: this boolean expression can be simplified
--> $DIR/nonminimal_bool.rs:29:13
Expand All @@ -76,10 +76,10 @@ LL | let _ = a == b && c == 5 && b == a;
|
help: try
|
LL | let _ = a == b && c == 5;
| ~~~~~~~~~~~~~~~~
LL | let _ = !(a != b || c != 5);
| ~~~~~~~~~~~~~~~~~~~
LL | let _ = a == b && c == 5;
| ~~~~~~~~~~~~~~~~

error: this boolean expression can be simplified
--> $DIR/nonminimal_bool.rs:30:13
Expand All @@ -89,10 +89,10 @@ LL | let _ = a != b || !(a != b || c == d);
|
help: try
|
LL | let _ = a != b || c != d;
| ~~~~~~~~~~~~~~~~
LL | let _ = !(a == b && c == d);
| ~~~~~~~~~~~~~~~~~~~
LL | let _ = a != b || c != d;
| ~~~~~~~~~~~~~~~~

error: this boolean expression can be simplified
--> $DIR/nonminimal_bool.rs:31:13
Expand All @@ -102,10 +102,10 @@ LL | let _ = a != b && !(a != b && c == d);
|
help: try
|
LL | let _ = a != b && c != d;
| ~~~~~~~~~~~~~~~~
LL | let _ = !(a == b || c == d);
| ~~~~~~~~~~~~~~~~~~~
LL | let _ = a != b && c != d;
| ~~~~~~~~~~~~~~~~

error: aborting due to 12 previous errors