From: Ramsay Jones Date: Mon, 17 Nov 2025 02:08:42 GMT Subject: Re: [PATCH v4 01/10] doc: define unambiguous type mappings across C and Rust Message-ID: In-Reply-To: On 17/11/2025 1:20 am, Junio C Hamano wrote: > Junio C Hamano writes: > >> Me neither, but I suspect it may mostly use of non-word "signless" >> that is the issue. > > So, the patch text that claims C's "char" is "signless" still needs > to be updated, I think. The problematic paragraph (with a bit of > rewrapping) reads like this: Sorry for being AFK for a over a day! :) I didn't think this would generate so much traffic. > C comparison problem: While the sign of `char` is implementation > defined, it's also signless (neither signed nor unsigned). When > building with `make DEVELOPER=1` it will complain about a > "differ in signedness" when `char` is compared with `uint8_t` or > `int8_t`. Yes, the 'signless' nonsense is what 'triggered' me. ;) > > Perhaps > > The C language leaves the signedness of `char` implementation > defined. Because our developer build enables -Wsign-compare, > comparison of a value of `char` type with either signed or > unsigned integers will trigger warnings from the compiler. s/will/may/ - it depends! > Avoiding `char` of implementation defined signedness helps us > being a bit more explicit. > > or something is sufficient? Yes, this looks good to me (but then I am not particularly good at word-smithing). Thanks. ATB, Ramsay Jones