DMD rejects nothrow functions which use compile-time constant dynamic array for violating nothrow. -------------------- immutable TABLE = [ 1, 2, 3 ]; pragma(msg, typeof(TABLE)); // immutable(int[]) void foo() nothrow // Error: function test.foo 'foo' is nothrow yet may throw { const(int)[] tab; tab = TABLE; } -------------------- The error does not occur if TABLE is declared with auto or immutable int[3] (instead of mere "immutable").
Fixed svn 736.