   LL|       |#![feature(coverage_attribute)]
   LL|       |//@ edition: 2021
   LL|       |
   LL|       |// Regression test for <https://github.com/rust-lang/rust/issues/122738>.
   LL|       |// These code patterns should not trigger an ICE when allocating a physical
   LL|       |// counter to a node and also one of its in-edges, because that is allowed
   LL|       |// when the node contains a tight loop to itself.
   LL|       |
   LL|      1|fn loopy(cond: bool) {
   LL|      1|    let true = cond else { loop {} };
                                         ^0
   LL|      1|}
   LL|       |
   LL|       |// Variant that also has `loop {}` on the success path.
   LL|       |// This isn't needed to catch the original ICE, but might help detect regressions.
   LL|      0|fn _loop_either_way(cond: bool) {
   LL|      0|    let true = cond else { loop {} };
   LL|      0|    loop {}
   LL|       |}
   LL|       |
   LL|       |// Variant using regular `if` instead of let-else.
   LL|       |// This doesn't trigger the original ICE, but might help detect regressions.
   LL|      0|fn _if(cond: bool) {
   LL|      0|    if cond { loop {} } else { loop {} }
   LL|       |}
   LL|       |
   LL|       |#[coverage(off)]
   LL|       |fn main() {
   LL|       |    loopy(true);
   LL|       |}

