Repairing BigInt const

Simen kjaeraas simen.kjaras at gmail.com
Sun Nov 21 17:59:43 PST 2010


Matthias Walter <xammy at xammy.homelinux.net> wrote:

> On 11/21/2010 04:33 PM, Don wrote:
>> Matthias Walter wrote:
>>> as it seems, the current version of BigInt is not capable of const,  
>>> i.e.
>>> BigInt(1) + const(BigInt)(1) does not work.
>>>
>>> Is there already an effort to fix this or would it make sense if I had
>>> taken some time to create a fix for it? I have no idea of all the asm  
>>> in
>>> the x86 specialization but as const is an interface thing, I should be
>>> able to figure out everything without that knowledge. Or are there
>>> general design problems, such that this would be a waste of time?
>>
>> It's been prevented by some compiler bugs. The changes to pure in
>> 2.050 were triggered by attempts to make BigInt pure. 2.051 will
>> include several fixes to nothrow.
> You mean by "making BigInt pure" that all the computation-methods (like
> opBinary, etc.) will be pure, right? Or can D structs be pure as well?
> (Whatever this would mean...)

"Making BigInt pure" means making it usable in pure functions. That is,
make all member functions pure that can be pure.



-- 
Simen


More information about the Digitalmars-d mailing list