Am Mon, 02 May 2016 13:00:27 +0000 schrieb Erik Smith <e...@cruiserhouse.com>:
> Is there a way to initialize a static array and have it's size > inferred (and that works for arrays of structs using braced > literals)? This would make it easier to maintain longer static > array definitions. The code below doesn't work when removing the > array size even though the array is declared as static immutable. > > import std.traits; > static immutable int[] a = [1,2,3]; > static assert(isStaticArray!(typeof(a))); // fails > Sure, struct S { int a, b; } immutable tab = { static enum S[] s = [ {1,2}, {3,4}, ]; return cast(typeof(s[0])[s.length])s; }(); static assert(isStaticArray!(typeof(tab))); // succeeds -- Marco