//! > Test recursive call.
//! > test_runner_name
test_function_lowering_phases
//! > function
fn foo() {
match Option::<felt252>::None {
Option::Some(_) => panic(Default::default()),
Option::None => foo(),
}
}
//! > function_name
foo
//! > module_code
//! > semantic_diagnostics
//! > lowering_diagnostics
//! > before_all
Parameters:
blk0 (root):
Statements:
(v0: ()) <- struct_construct()
(v1: core::option::Option::<core::felt252>) <- Option::None(v0)
End:
Match(match_enum(v1) {
Option::Some(v2) => blk1,
Option::None(v6) => blk2,
})
blk1:
Statements:
(v3: core::array::Array::<core::felt252>) <- core::array::ArrayDefault::<core::felt252>::default()
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v3)
End:
Panic(v5)
blk2:
Statements:
(v7: ()) <- test::foo()
End:
Goto(blk3, {v7 -> v8})
blk3:
Statements:
End:
Return(v8)
//! > after_inlining
Parameters:
blk0 (root):
Statements:
(v0: ()) <- struct_construct()
(v1: core::option::Option::<core::felt252>) <- Option::None(v0)
End:
Match(match_enum(v1) {
Option::Some(v2) => blk1,
Option::None(v6) => blk2,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v7: ()) <- test::foo()
End:
Goto(blk3, {v7 -> v8})
blk3:
Statements:
End:
Return(v8)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v3)
End:
Panic(v5)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {v9 -> v3})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {v10 -> v9})
//! > after_add_withdraw_gas
Parameters:
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v16) {
Option::Some => blk8,
Option::None => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v7: ()) <- test::foo()
End:
Goto(blk3, {v7 -> v8})
blk3:
Statements:
End:
Return(v8)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v3)
End:
Panic(v5)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {v9 -> v3})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {v10 -> v9})
blk8:
Statements:
(v0: ()) <- struct_construct()
(v1: core::option::Option::<core::felt252>) <- Option::None(v0)
End:
Match(match_enum(v1) {
Option::Some(v2) => blk1,
Option::None(v6) => blk2,
})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
End:
Panic(v15)
//! > after_lower_panics
Parameters:
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v16) {
Option::Some => blk8,
Option::None => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v17: core::panics::PanicResult::<((),)>) <- test::foo()
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v21: ((),)) <- struct_construct(v8)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v3)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {v9 -> v3})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {v10 -> v9})
blk8:
Statements:
(v0: ()) <- struct_construct()
(v1: core::option::Option::<core::felt252>) <- Option::None(v0)
End:
Match(match_enum(v1) {
Option::Some(v2) => blk1,
Option::None(v6) => blk2,
})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v24)
blk10:
Statements:
End:
Goto(blk3, {v7 -> v8})
blk11:
Statements:
(v19: ()) <- struct_destructure(v18)
End:
Goto(blk10, {v19 -> v7})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v25)
//! > after_add_destructs
Parameters:
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v16) {
Option::Some => blk8,
Option::None => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v17: core::panics::PanicResult::<((),)>) <- test::foo()
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v21: ((),)) <- struct_construct(v8)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v3)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {v9 -> v3})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {v10 -> v9})
blk8:
Statements:
(v0: ()) <- struct_construct()
(v1: core::option::Option::<core::felt252>) <- Option::None(v0)
End:
Match(match_enum(v1) {
Option::Some(v2) => blk1,
Option::None(v6) => blk2,
})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v24)
blk10:
Statements:
End:
Goto(blk3, {v7 -> v8})
blk11:
Statements:
(v19: ()) <- struct_destructure(v18)
End:
Goto(blk10, {v19 -> v7})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v25)
//! > after_optimize_remappings1
Parameters:
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v16) {
Option::Some => blk8,
Option::None => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v17: core::panics::PanicResult::<((),)>) <- test::foo()
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v10)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {})
blk8:
Statements:
(v0: ()) <- struct_construct()
(v1: core::option::Option::<core::felt252>) <- Option::None(v0)
End:
Match(match_enum(v1) {
Option::Some(v2) => blk1,
Option::None(v6) => blk2,
})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v24)
blk10:
Statements:
End:
Goto(blk3, {})
blk11:
Statements:
(v19: ()) <- struct_destructure(v18)
End:
Goto(blk10, {})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v25)
//! > after_reorder_statements1
Parameters:
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v16) {
Option::Some => blk8,
Option::None => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v17: core::panics::PanicResult::<((),)>) <- test::foo()
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v19: ()) <- struct_destructure(v18)
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v10)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {})
blk8:
Statements:
(v0: ()) <- struct_construct()
(v1: core::option::Option::<core::felt252>) <- Option::None(v0)
End:
Match(match_enum(v1) {
Option::Some(v2) => blk1,
Option::None(v6) => blk2,
})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v24)
blk10:
Statements:
End:
Goto(blk3, {})
blk11:
Statements:
End:
Goto(blk10, {})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v25)
//! > after_branch_inversion
Parameters:
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v16) {
Option::Some => blk8,
Option::None => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v17: core::panics::PanicResult::<((),)>) <- test::foo()
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v19: ()) <- struct_destructure(v18)
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v10)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {})
blk8:
Statements:
(v0: ()) <- struct_construct()
(v1: core::option::Option::<core::felt252>) <- Option::None(v0)
End:
Match(match_enum(v1) {
Option::Some(v2) => blk1,
Option::None(v6) => blk2,
})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v24)
blk10:
Statements:
End:
Goto(blk3, {})
blk11:
Statements:
End:
Goto(blk10, {})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v25)
//! > after_reorder_statements2
Parameters:
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v16) {
Option::Some => blk8,
Option::None => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v17: core::panics::PanicResult::<((),)>) <- test::foo()
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v19: ()) <- struct_destructure(v18)
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v10)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {})
blk8:
Statements:
(v0: ()) <- struct_construct()
(v1: core::option::Option::<core::felt252>) <- Option::None(v0)
End:
Match(match_enum(v1) {
Option::Some(v2) => blk1,
Option::None(v6) => blk2,
})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v24)
blk10:
Statements:
End:
Goto(blk3, {})
blk11:
Statements:
End:
Goto(blk10, {})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v25)
//! > after_optimize_matches
Parameters:
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v16) {
Option::Some => blk8,
Option::None => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v17: core::panics::PanicResult::<((),)>) <- test::foo()
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v19: ()) <- struct_destructure(v18)
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v10)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {})
blk8:
Statements:
(v0: ()) <- struct_construct()
End:
Goto(blk2, {})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v24)
blk10:
Statements:
End:
Goto(blk3, {})
blk11:
Statements:
End:
Goto(blk10, {})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v25)
//! > after_lower_implicits
Parameters: v26: core::RangeCheck, v27: core::gas::GasBuiltin
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v26, v27, v16) {
Option::Some(v28, v29) => blk8,
Option::None(v30, v31) => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v34: core::RangeCheck, v35: core::gas::GasBuiltin, v17: core::panics::PanicResult::<((),)>) <- test::foo(v32, v33)
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v19: ()) <- struct_destructure(v18)
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v38, v39, v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v10)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {})
blk8:
Statements:
(v0: ()) <- struct_construct()
End:
Goto(blk2, {v28 -> v32, v29 -> v33})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v30, v31, v24)
blk10:
Statements:
End:
Goto(blk3, {v36 -> v38, v37 -> v39})
blk11:
Statements:
End:
Goto(blk10, {v34 -> v36, v35 -> v37})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v34, v35, v25)
//! > after_optimize_remappings2
Parameters: v26: core::RangeCheck, v27: core::gas::GasBuiltin
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v26, v27, v16) {
Option::Some(v28, v29) => blk8,
Option::None(v30, v31) => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v34: core::RangeCheck, v35: core::gas::GasBuiltin, v17: core::panics::PanicResult::<((),)>) <- test::foo(v28, v29)
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v19: ()) <- struct_destructure(v18)
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v34, v35, v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v10)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {})
blk8:
Statements:
(v0: ()) <- struct_construct()
End:
Goto(blk2, {})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v30, v31, v24)
blk10:
Statements:
End:
Goto(blk3, {})
blk11:
Statements:
End:
Goto(blk10, {})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v34, v35, v25)
//! > after_reorder_statements3
Parameters: v26: core::RangeCheck, v27: core::gas::GasBuiltin
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v26, v27, v16) {
Option::Some(v28, v29) => blk8,
Option::None(v30, v31) => blk9,
})
blk1:
Statements:
End:
Goto(blk5, {})
blk2:
Statements:
(v34: core::RangeCheck, v35: core::gas::GasBuiltin, v17: core::panics::PanicResult::<((),)>) <- test::foo(v28, v29)
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk11,
PanicResult::Err(v20) => blk12,
})
blk3:
Statements:
(v19: ()) <- struct_destructure(v18)
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v34, v35, v22)
blk4:
Statements:
(v4: core::panics::Panic) <- struct_construct()
(v5: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v4, v10)
(v23: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v5)
End:
Return(v23)
blk5:
Statements:
End:
Goto(blk7, {})
blk6:
Statements:
End:
Goto(blk4, {})
blk7:
Statements:
(v10: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
End:
Goto(blk6, {})
blk8:
Statements:
End:
Goto(blk2, {})
blk9:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v30, v31, v24)
blk10:
Statements:
End:
Goto(blk3, {})
blk11:
Statements:
End:
Goto(blk10, {})
blk12:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v34, v35, v25)
//! > after_reorganize_blocks
Parameters: v26: core::RangeCheck, v27: core::gas::GasBuiltin
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v26, v27, v16) {
Option::Some(v28, v29) => blk1,
Option::None(v30, v31) => blk4,
})
blk1:
Statements:
(v34: core::RangeCheck, v35: core::gas::GasBuiltin, v17: core::panics::PanicResult::<((),)>) <- test::foo(v28, v29)
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk2,
PanicResult::Err(v20) => blk3,
})
blk2:
Statements:
(v19: ()) <- struct_destructure(v18)
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v34, v35, v22)
blk3:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v34, v35, v25)
blk4:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v30, v31, v24)
//! > after_optimize_remappings3 (final)
Parameters: v26: core::RangeCheck, v27: core::gas::GasBuiltin
blk0 (root):
Statements:
(v16: core::gas::BuiltinCosts) <- core::gas::get_builtin_costs()
End:
Match(match core::gas::withdraw_gas_all(v26, v27, v16) {
Option::Some(v28, v29) => blk1,
Option::None(v30, v31) => blk4,
})
blk1:
Statements:
(v34: core::RangeCheck, v35: core::gas::GasBuiltin, v17: core::panics::PanicResult::<((),)>) <- test::foo(v28, v29)
End:
Match(match_enum(v17) {
PanicResult::Ok(v18) => blk2,
PanicResult::Err(v20) => blk3,
})
blk2:
Statements:
(v19: ()) <- struct_destructure(v18)
(v21: ((),)) <- struct_construct(v19)
(v22: core::panics::PanicResult::<((),)>) <- PanicResult::Ok(v21)
End:
Return(v34, v35, v22)
blk3:
Statements:
(v25: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v20)
End:
Return(v34, v35, v25)
blk4:
Statements:
(v11: core::array::Array::<core::felt252>) <- core::array::array_new::<core::felt252>()
(v12: core::felt252) <- 375233589013918064796019u
(v14: core::array::Array::<core::felt252>) <- core::array::array_append::<core::felt252>(v11, v12)
(v13: core::panics::Panic) <- struct_construct()
(v15: (core::panics::Panic, core::array::Array::<core::felt252>)) <- struct_construct(v13, v14)
(v24: core::panics::PanicResult::<((),)>) <- PanicResult::Err(v15)
End:
Return(v30, v31, v24)