mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-12-01 00:49:30 +00:00
af39a8a4a8
If the type of the result of a call to `IntoIterator::into_iter()` and the type of the receiver are the same, then the receiver implements `Iterator` and `into_iter()` is the identity function. The call to `into_iter()` may be removed in all but two cases: - If the receiver implements `Copy`, `into_iter()` will produce a copy of the receiver and cannot be removed. For example, `x.into_iter().next()` will not advance `x` while `x.next()` will. - If the receiver is an immutable local variable and the call to `into_iter()` appears in a larger expression, removing the call to `into_iter()` might cause mutability issues. For example, if `x` is an immutable local variable, `x.into_iter().next()` will compile while `x.next()` will not as `next()` receives `&mut self`.
122 lines
4.9 KiB
Text
122 lines
4.9 KiB
Text
error: useless conversion to the same type: `T`
|
|
--> $DIR/useless_conversion.rs:7:13
|
|
|
|
|
LL | let _ = T::from(val);
|
|
| ^^^^^^^^^^^^ help: consider removing `T::from()`: `val`
|
|
|
|
|
note: the lint level is defined here
|
|
--> $DIR/useless_conversion.rs:3:9
|
|
|
|
|
LL | #![deny(clippy::useless_conversion)]
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: useless conversion to the same type: `T`
|
|
--> $DIR/useless_conversion.rs:8:5
|
|
|
|
|
LL | val.into()
|
|
| ^^^^^^^^^^ help: consider removing `.into()`: `val`
|
|
|
|
error: useless conversion to the same type: `i32`
|
|
--> $DIR/useless_conversion.rs:20:22
|
|
|
|
|
LL | let _: i32 = 0i32.into();
|
|
| ^^^^^^^^^^^ help: consider removing `.into()`: `0i32`
|
|
|
|
error: useless conversion to the same type: `std::str::Lines<'_>`
|
|
--> $DIR/useless_conversion.rs:45:22
|
|
|
|
|
LL | if Some("ok") == lines.into_iter().next() {}
|
|
| ^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `lines`
|
|
|
|
error: useless conversion to the same type: `std::str::Lines<'_>`
|
|
--> $DIR/useless_conversion.rs:50:21
|
|
|
|
|
LL | let mut lines = text.lines().into_iter();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `text.lines()`
|
|
|
|
error: useless conversion to the same type: `std::str::Lines<'_>`
|
|
--> $DIR/useless_conversion.rs:56:22
|
|
|
|
|
LL | if Some("ok") == text.lines().into_iter().next() {}
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `text.lines()`
|
|
|
|
error: useless conversion to the same type: `std::ops::Range<i32>`
|
|
--> $DIR/useless_conversion.rs:62:13
|
|
|
|
|
LL | let _ = NUMBERS.into_iter().next();
|
|
| ^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `NUMBERS`
|
|
|
|
error: useless conversion to the same type: `std::ops::Range<i32>`
|
|
--> $DIR/useless_conversion.rs:67:17
|
|
|
|
|
LL | let mut n = NUMBERS.into_iter();
|
|
| ^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `NUMBERS`
|
|
|
|
error: useless conversion to the same type: `std::string::String`
|
|
--> $DIR/useless_conversion.rs:128:21
|
|
|
|
|
LL | let _: String = "foo".to_string().into();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"foo".to_string()`
|
|
|
|
error: useless conversion to the same type: `std::string::String`
|
|
--> $DIR/useless_conversion.rs:129:21
|
|
|
|
|
LL | let _: String = From::from("foo".to_string());
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `From::from()`: `"foo".to_string()`
|
|
|
|
error: useless conversion to the same type: `std::string::String`
|
|
--> $DIR/useless_conversion.rs:130:13
|
|
|
|
|
LL | let _ = String::from("foo".to_string());
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `"foo".to_string()`
|
|
|
|
error: useless conversion to the same type: `std::string::String`
|
|
--> $DIR/useless_conversion.rs:131:13
|
|
|
|
|
LL | let _ = String::from(format!("A: {:04}", 123));
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("A: {:04}", 123)`
|
|
|
|
error: useless conversion to the same type: `std::str::Lines<'_>`
|
|
--> $DIR/useless_conversion.rs:132:13
|
|
|
|
|
LL | let _ = "".lines().into_iter();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `"".lines()`
|
|
|
|
error: useless conversion to the same type: `std::vec::IntoIter<i32>`
|
|
--> $DIR/useless_conversion.rs:133:13
|
|
|
|
|
LL | let _ = vec![1, 2, 3].into_iter().into_iter();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `vec![1, 2, 3].into_iter()`
|
|
|
|
error: useless conversion to the same type: `std::string::String`
|
|
--> $DIR/useless_conversion.rs:134:21
|
|
|
|
|
LL | let _: String = format!("Hello {}", "world").into();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("Hello {}", "world")`
|
|
|
|
error: useless conversion to the same type: `i32`
|
|
--> $DIR/useless_conversion.rs:139:13
|
|
|
|
|
LL | let _ = i32::from(a + b) * 3;
|
|
| ^^^^^^^^^^^^^^^^ help: consider removing `i32::from()`: `(a + b)`
|
|
|
|
error: useless conversion to the same type: `Foo<'a'>`
|
|
--> $DIR/useless_conversion.rs:145:23
|
|
|
|
|
LL | let _: Foo<'a'> = s2.into();
|
|
| ^^^^^^^^^ help: consider removing `.into()`: `s2`
|
|
|
|
error: useless conversion to the same type: `Foo<'a'>`
|
|
--> $DIR/useless_conversion.rs:147:13
|
|
|
|
|
LL | let _ = Foo::<'a'>::from(s3);
|
|
| ^^^^^^^^^^^^^^^^^^^^ help: consider removing `Foo::<'a'>::from()`: `s3`
|
|
|
|
error: useless conversion to the same type: `std::vec::IntoIter<Foo<'a'>>`
|
|
--> $DIR/useless_conversion.rs:149:13
|
|
|
|
|
LL | let _ = vec![s4, s4, s4].into_iter().into_iter();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `vec![s4, s4, s4].into_iter()`
|
|
|
|
error: aborting due to 19 previous errors
|
|
|