// Variadic heterogeneous type packs — out-of-bounds pack index
// is a compile-time error.
//
// `foo(..$args) -> $R => args[2]` accesses the third pack
// element. When called with fewer than 3 args, the literal index
// 2 is out of bounds for the pack's actual arity. The compiler
// detects this in `diagPackIndexOOB` and emits a focused
// diagnostic at the index span — pre-fix, the fall-through hit
// the standard slice-indexing path and produced "unresolved
// 'args'" which buried the real cause.

#import "modules/std.sx";

foo :: (..$args) -> $R => args[2];

main :: () -> i32 {
    n : i64 = foo(99);
    print("{}\n", n);
    return 0;
}
