Error code E0571

A break statement with an argument appeared in a non-loop loop.

Example of erroneous code:

let result = while true {
    if satisfied(i) {
        break 2 * i; // error: `break` with value from a `while` loop
    }
    i += 1;
};
Run

The break statement can take an argument (which will be the value of the loop expression if the break statement is executed) in loop loops, but not for, while, or while let loops.

Make sure break value; statements only occur in loop loops:

let result = loop { // This is now a "loop" loop.
    if satisfied(i) {
        break 2 * i; // ok!
    }
    i += 1;
};
Run

Back to list of error codes