On 5/25/20 1:20 AM, John Chapman wrote:
void foo(T)(T[] a) {}
void foo(T)(T[][] a) {}
auto ra = new int[][](5, 5);
ra.foo(); // matches both
import std.traits;
void foo(T)(T[] a)
if (!isArray!T) {}
void foo(T)(T[] a)
if (isArray!T) {}
Or you can take T as parameter and check ElementType!T:
Is it possible to overload a function template for rectangular
arrays? Is there any way to tell them apart from normal ones?
void foo(T)(T[] a) {}
void foo(T)(T[][] a) {}
auto ra = new int[][](5, 5);
ra.foo(); // matches both
Thanks for any hints.