struct Vec2f; struct Vec2f { x f32, y f32, } union Val { x i64, lo i32, y f64, } enum Color { Red, Green, Blue } static xs *void = {}; fn isort(xs *int, n usize) void { extern fn qsort(base *void, nmemb usize, size usize, compar *fn(l *const void, r *const void, _ *void) int) void; fn icmp(lhs *const void, rhs *const void, _ *void) int { let lhs = *as(*int)lhs; let rhs = *as(*int)rhs; return lhs - rhs; } qsort(xs, n, 4, &icmp); } extern fn main (argc int, argv **u8) int { extern fn printf(fmt *const u8, ...) int; let colors [3]Color = { :Red, :Green, :Blue } ; let x = Vec2f { .y: 1, .x: 2.4 }; printf("v = { %g, %g }\n", x.x, x.y); let is [10]int = { [4] = 1, 2, [1 - 1] = 3 }; isort(is, 10); for let i = 0; i < 10; ++i { printf("%d\n", is[i]); } return 0; }