error: this loop never actually loops
  --> tests/ui/never_loop.rs:9:5
   |
LL | /     loop {
...  |
LL | |         break;
LL | |     }
   | |_____^
   |
   = note: `#[deny(clippy::never_loop)]` on by default

error: this loop never actually loops
  --> tests/ui/never_loop.rs:33:5
   |
LL | /     loop {
...  |
LL | |         break;
LL | |     }
   | |_____^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:55:5
   |
LL | /     loop {
...  |
LL | |         return;
LL | |     }
   | |_____^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:59:9
   |
LL | /         while i == 0 {
...  |
LL | |         }
   | |_________^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:73:9
   |
LL | /         loop {
...  |
LL | |             continue 'outer;
LL | |         }
   | |_________^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:111:5
   |
LL | /     while let Some(y) = x {
...  |
LL | |     }
   | |_____^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:120:5
   |
LL | /     for x in 0..10 {
...  |
LL | |     }
   | |_____^
   |
help: if you need the first element of the iterator, try writing
   |
LL -     for x in 0..10 {
LL +     if let Some(x) = (0..10).next() {
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:170:5
   |
LL | /     'outer: while a {
...  |
LL | |         break 'outer;
LL | |     }
   | |_____^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:187:9
   |
LL | /         while false {
LL | |
LL | |
LL | |             break 'label;
LL | |         }
   | |_________^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:240:13
   |
LL |       let _ = loop {
   |  _____________^
LL | |
LL | |
LL | |         let Some(x) = x else {
...  |
LL | |         break x;
LL | |     };
   | |_____^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:263:5
   |
LL | /     'a: loop {
LL | |
LL | |
LL | |         'b: {
...  |
LL | |     }
   | |_____^

error: sub-expression diverges
  --> tests/ui/never_loop.rs:268:17
   |
LL |                 break 'a;
   |                 ^^^^^^^^
   |
   = note: `-D clippy::diverging-sub-expression` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::diverging_sub_expression)]`

error: this loop never actually loops
  --> tests/ui/never_loop.rs:300:13
   |
LL | /             for _ in 0..20 {
LL | |
LL | |
LL | |                 break 'block;
LL | |             }
   | |_____________^
   |
help: if you need the first element of the iterator, try writing
   |
LL -             for _ in 0..20 {
LL +             if let Some(_) = (0..20).next() {
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:385:13
   |
LL | /             'c: loop {
LL | |
LL | |
LL | |                 if b { break 'c } else { break 'b }
LL | |             }
   | |_____________^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:397:5
   |
LL | /     loop {
LL | |
LL | |
LL | |         panic!("oh no");
LL | |     }
   | |_____^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:402:5
   |
LL | /     loop {
LL | |
LL | |
LL | |         unimplemented!("not yet");
LL | |     }
   | |_____^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:423:5
   |
LL | /     for v in 0..10 {
LL | |
LL | |         break;
LL | |         println!("{v}");
LL | |     }
   | |_____^
   |
help: if you need the first element of the iterator, try writing
   |
LL ~     if let Some(v) = (0..10).next() {
LL |
LL ~         
LL ~         
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:431:5
   |
LL | /     'outer: for v in 0..10 {
LL | |
LL | |         loop {
...  |
LL | |         return;
LL | |     }
   | |_____^
   |
help: this code is unreachable. Consider moving the reachable parts out
  --> tests/ui/never_loop.rs:433:9
   |
LL | /         loop {
LL | |
LL | |             break 'outer;
LL | |         }
   | |_________^
help: this code is unreachable. Consider moving the reachable parts out
  --> tests/ui/never_loop.rs:437:9
   |
LL |         return;
   |         ^^^^^^^
help: if you need the first element of the iterator, try writing
   |
LL -     'outer: for v in 0..10 {
LL +     if let Some(v) = (0..10).next() {
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:433:9
   |
LL | /         loop {
LL | |
LL | |             break 'outer;
LL | |         }
   | |_________^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:440:5
   |
LL | /     for v in 0..10 {
LL | |
LL | |         'inner: loop {
...  |
LL | |         return;
LL | |     }
   | |_____^
   |
help: if you need the first element of the iterator, try writing
   |
LL -     for v in 0..10 {
LL +     if let Some(v) = (0..10).next() {
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:442:9
   |
LL | /         'inner: loop {
LL | |
LL | |             break 'inner;
LL | |         }
   | |_________^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:468:5
   |
LL | /     'a: for _ in 0..1 {
LL | |
LL | |         break 'a;
LL | |     }
   | |_____^
   |
help: if you need the first element of the iterator, try writing
   |
LL ~     if let Some(_) = (0..1).next() {
LL |
LL ~         
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:474:5
   |
LL | /     'a: for i in 0..1 {
LL | |
LL | |         match i {
LL | |             0 => {
...  |
LL | |     }
   | |_____^
   |
help: if you need the first element of the iterator, try writing
   |
LL ~     if let Some(i) = (0..1).next() {
LL |
...
LL |                 b *= 2;
LL ~                 
LL |             },
LL |             x => {
LL |                 b += x;
LL ~                 
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:489:5
   |
LL | /     for v in 0..10 {
LL | |
LL | |         break;
LL | |         println!("{v}");
...  |
LL | |         ()
LL | |     }
   | |_____^
   |
help: if you need the first element of the iterator, try writing
   |
LL ~     if let Some(v) = (0..10).next() {
LL |
LL ~         
LL ~         
LL |         // This is comment and should be kept
LL ~         
LL ~         
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:500:5
   |
LL | /     'bar: for _ in 0..100 {
LL | |
LL | |         loop {
...  |
LL | |     }
   | |_____^
   |
help: this code is unreachable. Consider moving the reachable parts out
  --> tests/ui/never_loop.rs:502:9
   |
LL | /         loop {
LL | |
LL | |             println!("This will still run");
LL | |             break 'bar;
LL | |         }
   | |_________^
help: if you need the first element of the iterator, try writing
   |
LL -     'bar: for _ in 0..100 {
LL +     if let Some(_) = (0..100).next() {
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:502:9
   |
LL | /         loop {
LL | |
LL | |             println!("This will still run");
LL | |             break 'bar;
LL | |         }
   | |_________^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:509:5
   |
LL | /     'foo: for _ in 0..100 {
LL | |
LL | |         loop {
...  |
LL | |     }
   | |_____^
   |
help: this code is unreachable. Consider moving the reachable parts out
  --> tests/ui/never_loop.rs:511:9
   |
LL | /         loop {
LL | |
LL | |             println!("This will still run");
LL | |             loop {
...  |
LL | |         }
   | |_________^
help: if you need the first element of the iterator, try writing
   |
LL -     'foo: for _ in 0..100 {
LL +     if let Some(_) = (0..100).next() {
   |

error: this loop never actually loops
  --> tests/ui/never_loop.rs:511:9
   |
LL | /         loop {
LL | |
LL | |             println!("This will still run");
LL | |             loop {
...  |
LL | |         }
   | |_________^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:514:13
   |
LL | /             loop {
LL | |
LL | |                 println!("This will still run");
LL | |                 break 'foo;
LL | |             }
   | |_____________^

error: this loop never actually loops
  --> tests/ui/never_loop.rs:537:5
   |
LL | /     loop {
LL | |         unsafe {
LL | |             asm! {
LL | |                 "/* {} */",
...  |
LL | |         return;
LL | |     }
   | |_____^

error: aborting due to 30 previous errors

