So there is no way that the compiler knows by himself how many elements are in the array? something like this: void receive(T, size_t n = vals.length)(T[n] vals) { writeln(typeof(vals).stringof); } or: void receive(T)(T[vals.length] vals) { writeln(typeof(vals).stringof); }