Skip to content

loop_match_pop_front

Source Code

What it does

Checks for loops that are used to iterate over a span using pop_front.

Example

cairo
let a: Span<u32> = array![1, 2, 3].span();
loop {
    match a.pop_front() {
        Option::Some(val) => {do_smth(val); },
        Option::None => { break; }
    }
}

Which can be rewritten as

cairo
let a: Span<u32> = array![1, 2, 3].span();
for val in a {
    do_smth(val);
}