Thread overview
[Issue 6742] Alignments in std.variant.Algebraic
Jan 30, 2015
AndyC
Dec 03
berni44
January 30, 2015
https://issues.dlang.org/show_bug.cgi?id=6742

AndyC <andy@squeakycode.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andy@squeakycode.net

--- Comment #3 from AndyC <andy@squeakycode.net> ---
In DMD 2.066.1, I get:


import std.variant: Algebraic;
static assert(double.alignof == 8); //  Error here, this should be 4.

struct Foo { double x; }
alias Algebraic!(Foo) AFoo1;
static assert(AFoo1.sizeof == 12);
struct AFoo2 {
    bool b;
    double x;
}
static assert(AFoo2.sizeof == 16);  // Error here, it should be 12.
void main() {}

I'm not sure what that means though.

--
October 15, 2016
https://issues.dlang.org/show_bug.cgi?id=6742

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |bootcamp
                 CC|                            |andrei@erdani.com

--
December 03
https://issues.dlang.org/show_bug.cgi?id=6742

berni44 <bugzilla@d-ecke.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@d-ecke.de

--- Comment #4 from berni44 <bugzilla@d-ecke.de> ---
On linux, the current compile reports 8 / 16 / 16. As far as I understand this, this is correct. Did not test windows though.

--