//! > Test assignment.

//! > test_runner_name
test_function_lowering(expect_diagnostics: false)

//! > function_code
fn foo(a: bool) -> felt252 {
    let mut x = 2;
    if a {
        x = 3;
    } else {
        let mut y = 4;
        y = 5;
    }
    x
}

//! > function_name
foo

//! > semantic_diagnostics

//! > lowering_diagnostics

//! > lowering_flat
Parameters: v0: core::bool
blk0 (root):
Statements:
End:
  Match(match_enum(v0) {
    bool::False(v1) => blk1,
    bool::True(v2) => blk2,
  })

blk1:
Statements:
  (v3: core::felt252) <- 2
End:
  Return(v3)

blk2:
Statements:
  (v4: core::felt252) <- 3
End:
  Return(v4)
