On 09/16/2012 04:40 PM, Jonathan M Davis wrote:
> On Monday, September 17, 2012 01:03:46 ixid wrote:
>> If I use code like:
>>
>> enum ulong VAR = 10;
>>
>> I'd have expected this to be type checked when used as a ulong.
>> Instead it seems to be checked based on its absolute value and is
>> accepted for a function like:
>>
>> void fun(int n) {
>>       // Do stuff
>> }

> That's how it works with integral values in general in D. If the compiler can > determine that the integral value will fit in the type that you're trying to > assign it to, then it'll let you do it. There's a term for this, but I forget
> what it is at the moment.

Value range propagation:

  http://www.drdobbs.com/tools/value-range-propagation/229300211

Ali

Reply via email to