http://d.puremagic.com/issues/show_bug.cgi?id=6551
Summary: [CTFE] struct constructor not recognized under weird conditions Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: mrmoc...@gmx.de --- Comment #0 from Trass3r <mrmoc...@gmx.de> 2011-08-24 16:51:05 PDT --- So there's a struct with a ubyte. To shut up dmd about implicit conversions I added a constructor but it isn't recognized. // this failes immutable int dummy = init(); int init() { uint x; 6: auto p = F(x); return 0; } struct F { ubyte th; this(uint x) { th = cast(ubyte) x; } } // while it works in this case void main() { uint x; auto p = F(x); } $ dmd -c posecells.d DMD v2.055 DEBUG posecells.d(6): Error: cannot implicitly convert expression (x) of type uint to ubyte posecells.d(2): Error: cannot evaluate init() at compile time Weird thing is, if you remove 'int' in front of 'dummy' it magically works. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------