C variadic declarations

A bare trailing ... on an extern declaration describes C varargs. It does not collect a Moon array. The declaration below can be checked, but this lesson does not execute a variadic native call.

Moon int is signed 32-bit, long is signed 64-bit, and float is binary64. A C type's width depends on the selected target; matching a name is not enough. Native argument promotions and format strings must agree with the actual imported ABI. Do not assume a Moon string is a C char*.

extern fn log_values(count: i32, ...) -> i32

fn main() {}
Run locally
moon check main.mn
Ctrl/⌘+Enter checks the current lesson.