On Tuesday, 25 March 2014 at 20:16:49 UTC, Nordlöw wrote:
Just by curiosity:

What more than forbidding pointer-dribbling (casting and arithmetic) and unions with members smaller than word size should we require to be @portable?

Your two are all that I can think of that are definitely dangerous, though I would state them as "All unions with types larger than a byte and any access through a pointer where the target type is larger than a byte." You could catch a few more by considering equals/or/and/xor between a large lvalue and a byte rvalue to be non-portable. Most cases like this will either be related to deserializing byte arrays or people hashing/encrypting data. Annoying for the latter group, but valid for the former.

Reply via email to