toDynamic
ちょっと前のは寝ぼけてたんだと思います…まともなの書き直した。
template toDynamic(T){ static if (is(typeof(T[0]) U)){ alias toDynamic!(U)[] toDynamic; } else { alias T toDynamic; } } void main(){ writefln(typeid(toDynamic!(char[][]))); writefln(typeid(toDynamic!(char[4][4]))); writefln(typeid(toDynamic!(char[][4]))); writefln(typeid(toDynamic!(char[4][]))); }
実行すると、出力は全部「char」になります。