D-Programming-Language/phobos — pull request #734 by rtcvb32 (2012-08-01 14:45:47+00:00)
Title: Bitfields updates

issues dealt with:
4935 - std.bitmanip: bitfields!() template with trailing unnamed field
does not work
8474 - bitfields doesn't work with 32 bit fields
6686 - bitmanip bitfields are broken at 64 bits
5942 - bitfields overwritten erroneously:
5520 - bitfieldsOn
4425 - More bells & whistles for bitfields

Added optional default values.

Added static check to revert a bitfield to normal (non-bitfield) type if
it is the only entry and at it's full size.

32bit as first field no longer errors.

Bitfields should be properly separated and changing one shouldn't change others.

bitfields are now pure, safe and nothrow.

bitfieldsOn added (not pure); Allowing a specified base type to be used as the target of bitfields.