[Issue 4322] "void initializer has no value" on struct/union members	initialized to "void"
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Wed Jun 16 06:39:22 PDT 2010
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=4322
--- Comment #4 from Graham Fawcett <graham.fawcett at gmail.com> 2010-06-16 06:39:19 PDT ---
Created an attachment (id=664)
proposed patch
When initializing an array, this patch tests whether the initializer
is a VoidInitializer, and if so, avoids the toExpression() call. This
permits arrays to be initialized "= void".
This compiles and appears to work as expected:
void main() {
  struct foo {
    union {
      char[100] c = void;
      ubyte[100] b
    }
    ubyte[5] good = 44;
    ubyte[5] bad  = void;
  }
  foo f = foo();
  writeln("b ", f.b);
  writeln("c ", f.c);
  writeln("good ", f.good);
  writeln("bad ", f.bad);
}
"good" displays as '44 44 44 44 44', but the void attributes appear
uninitialized.
This still fails to compile (as it should):
void main() {
  void[1] a;
}
-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
    
    
More information about the Digitalmars-d-bugs
mailing list