@@ -118,188 +118,223 @@ error: useless conversion to the same type: `std::vec::IntoIter<Foo<'a'>>`
118118LL | let _ = vec![s4, s4, s4].into_iter().into_iter();
119119 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `vec![s4, s4, s4].into_iter()`
120120
121+ error: this let-binding has unit value
122+ --> tests/ui/useless_conversion.rs:187:5
123+ |
124+ LL | let _ = takes_into_iter(x.into_iter());
125+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: omit the `let` binding: `takes_into_iter(x.into_iter());`
126+ |
127+ = note: `-D clippy::let-unit-value` implied by `-D warnings`
128+ = help: to override `-D warnings` add `#[allow(clippy::let_unit_value)]`
129+
130+ error: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `array`
131+ --> tests/ui/useless_conversion.rs:187:31
132+ |
133+ LL | let _ = takes_into_iter(x.into_iter());
134+ | ^^^^^^^^^ help: call directly: `iter`
135+ |
136+ = note: `-D clippy::into-iter-on-ref` implied by `-D warnings`
137+ = help: to override `-D warnings` add `#[allow(clippy::into_iter_on_ref)]`
138+
139+ error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
140+ --> tests/ui/useless_conversion.rs:187:29
141+ |
142+ LL | let _ = takes_into_iter(x.into_iter());
143+ | ^^^^^^^^^^^^^
144+ |
145+ note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
146+ --> tests/ui/useless_conversion.rs:184:36
147+ |
148+ LL | fn takes_into_iter<'a>(_: impl IntoIterator<Item = &'a i32>) {}
149+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
150+ help: consider removing the `.into_iter()`
151+ |
152+ LL - let _ = takes_into_iter(x.into_iter());
153+ LL + let _ = takes_into_iter(*x);
154+ |
155+
121156error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
122- --> tests/ui/useless_conversion.rs:208 :7
157+ --> tests/ui/useless_conversion.rs:217 :7
123158 |
124159LL | b(vec![1, 2].into_iter());
125160 | ^^^^^^^^^^------------
126161 | |
127162 | help: consider removing the `.into_iter()`
128163 |
129164note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
130- --> tests/ui/useless_conversion.rs:198 :13
165+ --> tests/ui/useless_conversion.rs:207 :13
131166 |
132167LL | fn b<T: IntoIterator<Item = i32>>(_: T) {}
133168 | ^^^^^^^^^^^^^^^^^^^^^^^^
134169
135170error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
136- --> tests/ui/useless_conversion.rs:210 :7
171+ --> tests/ui/useless_conversion.rs:219 :7
137172 |
138173LL | c(vec![1, 2].into_iter());
139174 | ^^^^^^^^^^------------
140175 | |
141176 | help: consider removing the `.into_iter()`
142177 |
143178note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
144- --> tests/ui/useless_conversion.rs:199 :18
179+ --> tests/ui/useless_conversion.rs:208 :18
145180 |
146181LL | fn c(_: impl IntoIterator<Item = i32>) {}
147182 | ^^^^^^^^^^^^^^^^^^^^^^^^
148183
149184error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
150- --> tests/ui/useless_conversion.rs:212 :7
185+ --> tests/ui/useless_conversion.rs:221 :7
151186 |
152187LL | d(vec![1, 2].into_iter());
153188 | ^^^^^^^^^^------------
154189 | |
155190 | help: consider removing the `.into_iter()`
156191 |
157192note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
158- --> tests/ui/useless_conversion.rs:202 :12
193+ --> tests/ui/useless_conversion.rs:211 :12
159194 |
160195LL | T: IntoIterator<Item = i32>,
161196 | ^^^^^^^^^^^^^^^^^^^^^^^^
162197
163198error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
164- --> tests/ui/useless_conversion.rs:216 :7
199+ --> tests/ui/useless_conversion.rs:225 :7
165200 |
166201LL | b(vec![1, 2].into_iter().into_iter());
167202 | ^^^^^^^^^^------------------------
168203 | |
169204 | help: consider removing the `.into_iter()`s
170205 |
171206note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
172- --> tests/ui/useless_conversion.rs:198 :13
207+ --> tests/ui/useless_conversion.rs:207 :13
173208 |
174209LL | fn b<T: IntoIterator<Item = i32>>(_: T) {}
175210 | ^^^^^^^^^^^^^^^^^^^^^^^^
176211
177212error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
178- --> tests/ui/useless_conversion.rs:218 :7
213+ --> tests/ui/useless_conversion.rs:227 :7
179214 |
180215LL | b(vec![1, 2].into_iter().into_iter().into_iter());
181216 | ^^^^^^^^^^------------------------------------
182217 | |
183218 | help: consider removing the `.into_iter()`s
184219 |
185220note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
186- --> tests/ui/useless_conversion.rs:198 :13
221+ --> tests/ui/useless_conversion.rs:207 :13
187222 |
188223LL | fn b<T: IntoIterator<Item = i32>>(_: T) {}
189224 | ^^^^^^^^^^^^^^^^^^^^^^^^
190225
191226error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
192- --> tests/ui/useless_conversion.rs:265 :24
227+ --> tests/ui/useless_conversion.rs:274 :24
193228 |
194229LL | foo2::<i32, _>([1, 2, 3].into_iter());
195230 | ^^^^^^^^^------------
196231 | |
197232 | help: consider removing the `.into_iter()`
198233 |
199234note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
200- --> tests/ui/useless_conversion.rs:244 :12
235+ --> tests/ui/useless_conversion.rs:253 :12
201236 |
202237LL | I: IntoIterator<Item = i32> + Helper<X>,
203238 | ^^^^^^^^^^^^^^^^^^^^^^^^
204239
205240error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
206- --> tests/ui/useless_conversion.rs:274 :14
241+ --> tests/ui/useless_conversion.rs:283 :14
207242 |
208243LL | foo3([1, 2, 3].into_iter());
209244 | ^^^^^^^^^------------
210245 | |
211246 | help: consider removing the `.into_iter()`
212247 |
213248note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
214- --> tests/ui/useless_conversion.rs:253 :12
249+ --> tests/ui/useless_conversion.rs:262 :12
215250 |
216251LL | I: IntoIterator<Item = i32>,
217252 | ^^^^^^^^^^^^^^^^^^^^^^^^
218253
219254error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
220- --> tests/ui/useless_conversion.rs:284 :16
255+ --> tests/ui/useless_conversion.rs:293 :16
221256 |
222257LL | S1.foo([1, 2].into_iter());
223258 | ^^^^^^------------
224259 | |
225260 | help: consider removing the `.into_iter()`
226261 |
227262note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
228- --> tests/ui/useless_conversion.rs:281 :27
263+ --> tests/ui/useless_conversion.rs:290 :27
229264 |
230265LL | pub fn foo<I: IntoIterator>(&self, _: I) {}
231266 | ^^^^^^^^^^^^
232267
233268error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
234- --> tests/ui/useless_conversion.rs:304 :44
269+ --> tests/ui/useless_conversion.rs:313 :44
235270 |
236271LL | v0.into_iter().interleave_shortest(v1.into_iter());
237272 | ^^------------
238273 | |
239274 | help: consider removing the `.into_iter()`
240275 |
241276note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
242- --> tests/ui/useless_conversion.rs:291 :20
277+ --> tests/ui/useless_conversion.rs:300 :20
243278 |
244279LL | J: IntoIterator,
245280 | ^^^^^^^^^^^^
246281
247282error: useless conversion to the same type: `()`
248- --> tests/ui/useless_conversion.rs:332 :58
283+ --> tests/ui/useless_conversion.rs:341 :58
249284 |
250285LL | let _: Result<(), std::io::Error> = test_issue_3913().map(Into::into);
251286 | ^^^^^^^^^^^^^^^^ help: consider removing
252287
253288error: useless conversion to the same type: `std::io::Error`
254- --> tests/ui/useless_conversion.rs:335 :58
289+ --> tests/ui/useless_conversion.rs:344 :58
255290 |
256291LL | let _: Result<(), std::io::Error> = test_issue_3913().map_err(Into::into);
257292 | ^^^^^^^^^^^^^^^^^^^^ help: consider removing
258293
259294error: useless conversion to the same type: `()`
260- --> tests/ui/useless_conversion.rs:338 :58
295+ --> tests/ui/useless_conversion.rs:347 :58
261296 |
262297LL | let _: Result<(), std::io::Error> = test_issue_3913().map(From::from);
263298 | ^^^^^^^^^^^^^^^^ help: consider removing
264299
265300error: useless conversion to the same type: `std::io::Error`
266- --> tests/ui/useless_conversion.rs:341 :58
301+ --> tests/ui/useless_conversion.rs:350 :58
267302 |
268303LL | let _: Result<(), std::io::Error> = test_issue_3913().map_err(From::from);
269304 | ^^^^^^^^^^^^^^^^^^^^ help: consider removing
270305
271306error: useless conversion to the same type: `()`
272- --> tests/ui/useless_conversion.rs:345 :31
307+ --> tests/ui/useless_conversion.rs:354 :31
273308 |
274309LL | let _: ControlFlow<()> = c.map_break(Into::into);
275310 | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing
276311
277312error: useless conversion to the same type: `()`
278- --> tests/ui/useless_conversion.rs:349 :31
313+ --> tests/ui/useless_conversion.rs:358 :31
279314 |
280315LL | let _: ControlFlow<()> = c.map_continue(Into::into);
281316 | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing
282317
283318error: useless conversion to the same type: `u32`
284- --> tests/ui/useless_conversion.rs:363 :41
319+ --> tests/ui/useless_conversion.rs:372 :41
285320 |
286321LL | let _: Vec<u32> = [1u32].into_iter().map(Into::into).collect();
287322 | ^^^^^^^^^^^^^^^^ help: consider removing
288323
289324error: useless conversion to the same type: `T`
290- --> tests/ui/useless_conversion.rs:374 :18
325+ --> tests/ui/useless_conversion.rs:383 :18
291326 |
292327LL | x.into_iter().map(Into::into).collect()
293328 | ^^^^^^^^^^^^^^^^ help: consider removing
294329
295330error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
296- --> tests/ui/useless_conversion.rs:390 :29
331+ --> tests/ui/useless_conversion.rs:399 :29
297332 |
298333LL | takes_into_iter(self.my_field.into_iter());
299334 | ^^^^^^^^^^^^^^^^^^^^^^^^^
300335 |
301336note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
302- --> tests/ui/useless_conversion.rs:379 :32
337+ --> tests/ui/useless_conversion.rs:388 :32
303338 |
304339LL | fn takes_into_iter(_: impl IntoIterator<Item = String>) {}
305340 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -310,13 +345,13 @@ LL + takes_into_iter(&self.my_field);
310345 |
311346
312347error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
313- --> tests/ui/useless_conversion.rs:398 :29
348+ --> tests/ui/useless_conversion.rs:407 :29
314349 |
315350LL | takes_into_iter(self.my_field.into_iter());
316351 | ^^^^^^^^^^^^^^^^^^^^^^^^^
317352 |
318353note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
319- --> tests/ui/useless_conversion.rs:379 :32
354+ --> tests/ui/useless_conversion.rs:388 :32
320355 |
321356LL | fn takes_into_iter(_: impl IntoIterator<Item = String>) {}
322357 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -327,13 +362,13 @@ LL + takes_into_iter(&mut self.my_field);
327362 |
328363
329364error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
330- --> tests/ui/useless_conversion.rs:407 :29
365+ --> tests/ui/useless_conversion.rs:416 :29
331366 |
332367LL | takes_into_iter(self.my_field.into_iter());
333368 | ^^^^^^^^^^^^^^^^^^^^^^^^^
334369 |
335370note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
336- --> tests/ui/useless_conversion.rs:379 :32
371+ --> tests/ui/useless_conversion.rs:388 :32
337372 |
338373LL | fn takes_into_iter(_: impl IntoIterator<Item = String>) {}
339374 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -344,30 +379,27 @@ LL + takes_into_iter(*self.my_field);
344379 |
345380
346381error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
347- --> tests/ui/useless_conversion.rs:416 :29
382+ --> tests/ui/useless_conversion.rs:425 :29
348383 |
349384LL | takes_into_iter(self.my_field.into_iter());
350- | ^^^^^^^^^^^^^^^^^^^^^^^^^
385+ | ^^^^^^^^^^^^^------------
386+ | |
387+ | help: consider removing the `.into_iter()`
351388 |
352389note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
353- --> tests/ui/useless_conversion.rs:379 :32
390+ --> tests/ui/useless_conversion.rs:388 :32
354391 |
355392LL | fn takes_into_iter(_: impl IntoIterator<Item = String>) {}
356393 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
357- help: consider removing the `.into_iter()`
358- |
359- LL - takes_into_iter(self.my_field.into_iter());
360- LL + takes_into_iter(&*self.my_field);
361- |
362394
363395error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
364- --> tests/ui/useless_conversion.rs:425 :29
396+ --> tests/ui/useless_conversion.rs:434 :29
365397 |
366398LL | takes_into_iter(self.my_field.into_iter());
367399 | ^^^^^^^^^^^^^^^^^^^^^^^^^
368400 |
369401note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
370- --> tests/ui/useless_conversion.rs:379 :32
402+ --> tests/ui/useless_conversion.rs:388 :32
371403 |
372404LL | fn takes_into_iter(_: impl IntoIterator<Item = String>) {}
373405 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -378,16 +410,16 @@ LL + takes_into_iter(&mut *self.my_field);
378410 |
379411
380412error: useless conversion to the same type: `std::ops::Range<u32>`
381- --> tests/ui/useless_conversion.rs:440 :5
413+ --> tests/ui/useless_conversion.rs:449 :5
382414 |
383415LL | R.into_iter().for_each(|_x| {});
384416 | ^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `R`
385417
386418error: useless conversion to the same type: `std::ops::Range<u32>`
387- --> tests/ui/useless_conversion.rs:442 :13
419+ --> tests/ui/useless_conversion.rs:451 :13
388420 |
389421LL | let _ = R.into_iter().map(|_x| 0);
390422 | ^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `R`
391423
392- error: aborting due to 43 previous errors
424+ error: aborting due to 46 previous errors
393425
0 commit comments