digitalmars.D.bugs - [Issue 17341] New: Partial initialization of static array should not
- via Digitalmars-d-bugs (28/28) Apr 22 2017 https://issues.dlang.org/show_bug.cgi?id=17341
https://issues.dlang.org/show_bug.cgi?id=17341 Issue ID: 17341 Summary: Partial initialization of static array should not be allowed Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: b2.temp gmx.com In this example: ``` enum E{e0,e1,e2} static immutable int[E.max + 1] a = [0,1]; // oops no 3rd element static assert(isStaticArray!(typeof(a))); // no detected ``` we use an enum to define the size of a static array. The ArrayInitializer only sets the 2 first elements and nothing allows to statically check the omission (that could happen for example when adding new members to an enum). Two possible actions: - The compiler could emit a warning for this case. - Deprecate "partial initialization of static arrays" and update the specifications. --
Apr 22 2017