structs with bit fields as arguments
I have run into "NotImplementedError: <blah>: cannot pass as argument or return value a struct with bit-fields" in
fb_fill_type(). After studying the problem, I would guess that this is not implemented because so many aspects of bit-field binary representation are implementation-defined?
Given that we can call against libraries compiled with different compilers, but on the same cpu architecture, we will never swap endian-ness. So it seems like some kinds of bit-field args should be safe. For example, if the bit widths total to less than 8, we should be totally safe. If bit-fields never straddle multiples of 8, we should likewise be safe from changes in addressable storage unit.
Does this logic seem correct to you? If so, would you accept a patch that fills in the unimplemented part of
fb_fill_type() with the restriction that no field shall straddle the boundaries defined by all multiples of 8 bits?