On 7/30/12, Ali Çehreli <acehr...@yahoo.com> wrote: > The program should be able to detect the placements of the fields. You > can expect a certain bit pattern for a given set of values of the bit > fields, set those values, read them on the D side, detect potential > inconsistencies, and fail the execution (or hopefully compilation).
Yeah that was exactly my thinking, these things can be automated although they might slow down the whole codegeneration process a little bit (not that it matters much since you would rarely have to regenerate). Btw, I get an internal std error with this mixin: import std.bitmanip; struct Foo { mixin(bitfields!( uint, "bits1", 32, )); } D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\bitmanip.d(76): Error: shift by 32 is outside the range 0..31 Should I file this?