42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
// #failed: resolve
|
|
// #error: unknown argument to a procedure call, couldn't match it with any of the declared arguments
|
|
// #error: unknown argument to a procedure call, couldn't match it with any of the declared arguments
|
|
// #error: unknown argument to a procedure call, couldn't match it with any of the declared arguments
|
|
// #error: mixing named and positional arguments is illegal
|
|
// #error: mixing named and positional arguments is illegal
|
|
|
|
// #error: invalid argument count passed in to procedure call
|
|
// #error: invalid argument count passed in to procedure call
|
|
// #error: invalid argument count passed in to procedure call
|
|
// #error: invalid argument count passed in to procedure call
|
|
// #error: unknown argument to a procedure call, couldn't match it with any of the declared arguments
|
|
|
|
// #error: cannot assign void expression to a variable
|
|
|
|
default_args :: proc(a: int = 10, b: int = 10): int {
|
|
return a + b;
|
|
}
|
|
|
|
no_default :: proc(a: int @unused, b: int @unused) {
|
|
|
|
}
|
|
|
|
main :: proc(): int {
|
|
def0 := default_args(1,2,3);
|
|
def1 := default_args(c = 10);
|
|
def2 := default_args(1, a = 1, b = 2);
|
|
def3 := default_args(a = 1, 2);
|
|
def4 := default_args(b = 1, 2);
|
|
|
|
no_default();
|
|
no_default(1);
|
|
no_default(a = 1);
|
|
no_default(b = 1);
|
|
no_default(a = 2, c = 1);
|
|
|
|
assign_void := no_default(1, 2);
|
|
|
|
return 0;
|
|
}
|
|
|