// REJECT probe — generic application arity is checked natively: in value // position, in a parameter annotation, and at an application site earlier // in the file than the declaration it names. fn Box(comptime T type) type { return T } fn Pair(comptime A type, comptime B type) type { return struct { first A, second B, } } const Wrong = Box(u8, u8) // expect-error: generic 'Box' expects 1 argument, found 2 fn f(x Pair(u8)) void { // expect-error: generic 'Pair' expects 2 arguments, found 1 _ = x } const Early = Late(u8, u8) // expect-error: generic 'Late' expects 1 argument, found 2 fn Late(comptime T type) type { return T }