src/control-flow-basics/break-continue/labels.md
Both continue and break can optionally take a label argument that is used to
break out of nested loops:
# // Copyright 2024 Google LLC
# // SPDX-License-Identifier: Apache-2.0
#
fn main() {
let s = [[5, 6, 7], [8, 9, 10], [21, 15, 32]];
let mut elements_searched = 0;
let target_value = 10;
'outer: for i in 0..=2 {
for j in 0..=2 {
elements_searched += 1;
if s[i][j] == target_value {
break 'outer;
}
}
}
dbg!(elements_searched);
}
# // Copyright 2024 Google LLC
# // SPDX-License-Identifier: Apache-2.0
#
'label: {
break 'label;
println!("This line gets skipped");
}