Am 03.10.23 um 11:38 schrieb Oswald Buddenhagen: > On Tue, Oct 03, 2023 at 10:49:12AM +0200, René Scharfe wrote: >> Am 21.09.23 um 12:40 schrieb Oswald Buddenhagen: >>> On Wed, Sep 20, 2023 at 10:18:10AM +0200, René Scharfe wrote: >>>> If we base it on type size then we're making assumptions that >>>> I find hard to justify. >>>> >>> the only one i can think of is signedness. i think this can be >>> safely ignored as long as we use only small positive integers. >> >> I don't fully understand the pointer-sign warning, so I'm not >> confident enough to silence it. >> > in theory, differently signed integers may have completely different > binary representations. but afaik, that only ever mattered for > negative numbers. and c++20 actually codifies two's complement, which > was the de-facto standard for decades already. so in practice it just > means that we may be assigning a value that is outside the range of > the actual type. but small positive values are compatible between > signed and unsiged types. C++ is not relevant for Git, but C23 is going to to stop supporting binary representations other than two's complement as well. Still I don't feel comfortable overriding compiler warnings for something pedestrian as a command line parser. No idea what other assumptions are made in compilers around enums. I'd rather honor the warnings and avoid any forcing or trickery if possible. Or at least leave that to more capable hands. René