error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:18:14
   |
LL |     for _ in vec.iter() {}
   |              ^^^^^^^^^^ help: to write this more concisely, try: `&vec`
   |
note: the lint level is defined here
  --> tests/ui/explicit_iter_loop.rs:1:9
   |
LL | #![deny(clippy::explicit_iter_loop)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:20:14
   |
LL |     for _ in vec.iter_mut() {}
   |              ^^^^^^^^^^^^^^ help: to write this more concisely, try: `&mut vec`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:24:14
   |
LL |     for _ in rvec.iter() {}
   |              ^^^^^^^^^^^ help: to write this more concisely, try: `rvec`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:34:14
   |
LL |     for _ in [1, 2, 3].iter() {}
   |              ^^^^^^^^^^^^^^^^ help: to write this more concisely, try: `&[1, 2, 3]`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:39:14
   |
LL |     for _ in [0; 32].iter() {}
   |              ^^^^^^^^^^^^^^ help: to write this more concisely, try: `&[0; 32]`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:41:14
   |
LL |     for _ in [0; 33].iter() {}
   |              ^^^^^^^^^^^^^^ help: to write this more concisely, try: `&[0; 33]`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:45:14
   |
LL |     for _ in ll.iter() {}
   |              ^^^^^^^^^ help: to write this more concisely, try: `&ll`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:48:14
   |
LL |     for _ in rll.iter() {}
   |              ^^^^^^^^^^ help: to write this more concisely, try: `rll`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:52:14
   |
LL |     for _ in vd.iter() {}
   |              ^^^^^^^^^ help: to write this more concisely, try: `&vd`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:55:14
   |
LL |     for _ in rvd.iter() {}
   |              ^^^^^^^^^^ help: to write this more concisely, try: `rvd`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:59:14
   |
LL |     for _ in bh.iter() {}
   |              ^^^^^^^^^ help: to write this more concisely, try: `&bh`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:63:14
   |
LL |     for _ in hm.iter() {}
   |              ^^^^^^^^^ help: to write this more concisely, try: `&hm`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:67:14
   |
LL |     for _ in bt.iter() {}
   |              ^^^^^^^^^ help: to write this more concisely, try: `&bt`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:71:14
   |
LL |     for _ in hs.iter() {}
   |              ^^^^^^^^^ help: to write this more concisely, try: `&hs`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:75:14
   |
LL |     for _ in bs.iter() {}
   |              ^^^^^^^^^ help: to write this more concisely, try: `&bs`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:165:14
   |
LL |     for _ in x.iter() {}
   |              ^^^^^^^^ help: to write this more concisely, try: `&x`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:167:14
   |
LL |     for _ in x.iter_mut() {}
   |              ^^^^^^^^^^^^ help: to write this more concisely, try: `&mut x`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:171:14
   |
LL |     for _ in r.iter() {}
   |              ^^^^^^^^ help: to write this more concisely, try: `r`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
  --> tests/ui/explicit_iter_loop.rs:194:14
   |
LL |     for _ in dbg!([1, 2]).iter() {}
   |              ^^^^^^^^^^^^^^^^^^^ help: to write this more concisely, try: `&dbg!([1, 2])`

error: aborting due to 19 previous errors

