Why are unsigned to signed conversions implicit and don't emit a warning?

spir denis.spir at gmail.com
Mon Apr 11 04:08:25 PDT 2011


On 04/11/2011 10:10 AM, SimonM wrote:
> On 2011/04/11 09:31 AM, spir wrote:
>> On 04/11/2011 02:42 AM, bearophile wrote:
>>> I and Don have asked (in Bugzilla and elsewhere) to change the
>>> built-in names into sbyte and ubyte, to avoid the common confusions
>>> between signed and unsigned bytes in D, but Walter was deaf to this.
>>
>> I think a good naming scheme would be:
>>
>> * signed : int8 .. int64
>> * unsigned : nat8 .. nat64
>>
>> (since "natural number" more or less means "unsigned integer number")
>> already. What do you think?
> I like the idea of removing all the different integer type names (byte, short,
> int, long, cent) and replacing them with int8..int64 (I'd still prefer
> uint8..uint64 though).
>
> Then you could use just 'int' to specify using the current system's
> architecture (and hopefully replace the ugly size_t type). I also think it
> makes more sense to just use 'int' when you don't really care about the
> specific size of the value. Unfortunately it would break backwards compatility
> so it would never make it into D's current state.

Agreed. Same for uint or nat.
And no implicit cast, please ;-)

Denis
-- 
_________________
vita es estrany
spir.wikidot.com



More information about the Digitalmars-d-learn mailing list