https://issues.dlang.org/show_bug.cgi?id=9766
Leandro Lucarella <leandro.lucare...@sociomantic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|rejects-valid |industry, spec CC| |leandro.lucarella@sociomant | |ic.com --- Comment #2 from Leandro Lucarella <leandro.lucare...@sociomantic.com> --- Removed reject-invalid keyword as the specification indicates the syntax is: align ( IntegerLiteral ) In Sociomantic, being able to specify a compile-time calculated value to align would be useful to overcome alignment issues with structs with static arrays in them. For example: --- struct E1 { byte key; ubyte[(char[]).sizeof] val; } --- E1.key offset: 0LU, E1.val offset: 1LU This is very impolite to the GC. Trying the same in C, it works the same, and since D defines his alignment specification in terms of the host C compiler, this is technically not a bug but a feature. But a better way to overcome this than manually adding padding bytes between both members would be appreciated (using align(8) is not portable, and starting a version() madness because of this doesn't seem like a good option). --