cairo-lang-semantic 2.18.0

Cairo semantic model.
Documentation
//! > Test panicable from panicable.

//! > test_runner_name
test_function_diagnostics(expect_diagnostics: false)

//! > function_code
fn foo_panic() {
    bar_panic();
    bar_nopanic();
}

//! > function_name
foo_panic

//! > module_code
fn bar_panic() {}
fn bar_nopanic() nopanic {}

//! > expected_diagnostics

//! > ==========================================================================

//! > Test panicable from non-panicable.

//! > test_runner_name
test_function_diagnostics(expect_diagnostics: true)

//! > function_code
fn foo_nopanic() nopanic {
    bar_panic();
    bar_nopanic();
}

//! > function_name
foo_nopanic

//! > module_code
fn bar_panic() {}
fn bar_nopanic() nopanic {}

//! > expected_diagnostics
error[E2115]: Function is declared as nopanic but calls a function that may panic.
 --> lib.cairo:4:5
    bar_panic();
    ^^^^^^^^^^^