This can be achieved with the following example template:
BitfieldDisablePadding();
uint64 a : 1;
uint64 b : 64; // *ERROR Line 4: Bitfield size is too large.
If a has a bitfield size of 8, 16, 32 or 64, there is no error, but anything else (in this example, 1) causes the error to occur. This does not happen with the uint32 type and bitfield sizes 1 and 32.
Yes, you are correct that you get an error in this case. There is a limitation in our bitfield reading that we will have to get fixed up to handle this. We took a quick look and it looks like it will require a fair number of changes and a lot of testing to make sure we don’t mess things up. If we have time we can try to get an update out, but the fix may have to wait until our next major release if it is complicated.