//! > Test enum
//! > test_runner_name
test_function_diagnostics(expect_diagnostics: true)
//! > function_code
enum A {
a: (),
b: felt252,
}
fn foo() {
let _a: A = A::a(());
let _a: A = A::b(5);
let _b: bool = bool::True(());
let _b: bool = true;
// Failures.
let _a: A = A::a();
let _a: A = A::b(1, 2);
let _a: A = A::a::a(());
let _a: A = A::c();
let _a: A = A::d;
let _a: A = A;
}
//! > function_name
foo
//! > expected_diagnostics
error[E2030]: Wrong number of arguments. Expected 1, found: 0
--> lib.cairo:13:17
let _a: A = A::a();
^^^^^^
error[E2030]: Wrong number of arguments. Expected 1, found: 2
--> lib.cairo:14:17
let _a: A = A::b(1, 2);
^^^^^^^^^^
error[E2086]: Invalid path.
--> lib.cairo:15:23
let _a: A = A::a::a(());
^
error[E2060]: Enum "A" has no variant "c"
--> lib.cairo:16:20
let _a: A = A::c();
^
error[E2060]: Enum "A" has no variant "d"
--> lib.cairo:17:20
let _a: A = A::d;
^
error[E2005]: Expected variable or constant, found type.
--> lib.cairo:18:17
let _a: A = A;
^