//! > Test logical operators.
//! > test_runner_name
test_function_diagnostics(expect_diagnostics: true)
//! > function_code
fn foo(a: u128, b: u128, c: u128) -> bool {
a && b || c
}
//! > function_name
foo
//! > expected_diagnostics
error[E2039]: Expected type "core::bool", found: "core::integer::u128".
--> lib.cairo:2:5
a && b || c
^
error[E2039]: Expected type "core::bool", found: "core::integer::u128".
--> lib.cairo:2:10
a && b || c
^
error[E2039]: Expected type "core::bool", found: "core::integer::u128".
--> lib.cairo:2:15
a && b || c
^
//! > ==========================================================================
//! > Single sided if.
//! > test_runner_name
test_function_diagnostics(expect_diagnostics: true)
//! > function_code
fn foo(a: bool, b: bool, c: bool) -> bool {
bar(a, b, c)
}
//! > function_name
foo
//! > module_code
fn bar<S, T>(a: S, b: bool, c: T) -> bool {
a && Default::default() || c
}
//! > expected_diagnostics
error[E2039]: Expected type "core::bool", found: "S".
--> lib.cairo:2:5
a && Default::default() || c
^
error[E2039]: Expected type "core::bool", found: "T".
--> lib.cairo:2:32
a && Default::default() || c
^