The problem with "T[] a2 = [1, 2, 3];" was reported here: http://d.puremagic.com/issues/show_bug.cgi?id=8864
And it was discussed a bit here: http://forum.dlang.org/thread/[email protected] ----------------------- Other problems with Typedef: http://d.puremagic.com/issues/show_bug.cgi?id=7777 import std.typecons: Typedef; alias V3 = Typedef!(double[3]); V3 v1 = [30, 30, -50]; // error V3 v2 = V3([30, 30, -50]); // OK void main() { V3 v3 = [30, 30, -50]; // OK V3 v4 = V3([30, 30, -50]); // OK } ----------------------- http://d.puremagic.com/issues/show_bug.cgi?id=9363 import std.typecons: Typedef; alias Typedef!(ubyte[]) MyArray; void main() { MyArray arr; arr.length = 10; arr[] = 0; // error } ----------------------- http://d.puremagic.com/issues/show_bug.cgi?id=10778 This works: alias Matrix = double[260][260]; typedef Matrix Foo; void main() { Foo m; } This fails: import std.typecons: Typedef; alias Matrix = double[260][260]; alias Foo = Typedef!Matrix; // template recursive expansion error void main() {} ----------------------- Plus a const-related issue that seems simpler to fix: http://d.puremagic.com/issues/show_bug.cgi?id=7737 http://d.puremagic.com/issues/show_bug.cgi?id=11584 Bye, bearophile
