Does D have too many features?

Alex Rønne Petersen xtzgzorex at gmail.com
Mon Apr 30 11:30:02 PDT 2012


On 30-04-2012 20:17, Timon Gehr wrote:
> On 04/30/2012 05:21 PM, Alex Rønne Petersen wrote:
>> On 30-04-2012 08:37, jerro wrote:
>>>> Sorry, I managed to get myself confused here. What I meant to say was
>>>> that I think >> should do an arithmetic shift if the operands are
>>>> signed; unsigned shift otherwise.
>>>
>>> It does arithmetic shift if the left operand is signed,
>>> unsigned shift otherwise. This code:
>>>
>>> void main()
>>> {
>>> int a = 0xffffffff;
>>> uint b = a;
>>> writefln("%x", a >> 1);
>>> writefln("%x", b >> 1);
>>> }
>>>
>>> prints
>>>
>>> ffffffff
>>> 7fffffff
>>>
>>
>> The documentation disagrees:
>> http://dlang.org/expression.html#ShiftExpression
>>
>> It claims that it always does arithmetic shift and >>> always does
>> unsigned shift.
>>
>
> http://d.puremagic.com/issues/show_bug.cgi?id=8007

Thanks; these kinds of documentation bugs can cause really nasty 
misunderstandings.

-- 
- Alex


More information about the Digitalmars-d mailing list