trusted purity?

Henning Pohl henning at still-hidden.de
Mon Apr 29 05:15:42 PDT 2013


On Monday, 29 April 2013 at 12:08:58 UTC, monarch_dodra wrote:
> I've hit this issue before: In D, if the *managed* memory runs 
> out, then it is an error (since then *everything* crumbles: 
> arrays, GC. etc). The reason it is an error is that since the 
> memory is managed by the language, there is nothing the user 
> can do anyway, so throwing is pointless.
>
> for unmanaged memory, on the otherhand, the user *can* do 
> something about it, so throwing is better.
>
> I myself am not sure I 100% agree with this, but that was the 
> conclusion last time I tried to transform an malloc=>Exception 
> into a malloc=>Error+Nothrow

What about using allocators the user can specify? The default one 
would be malloc + Error + nothrow. All the signatures of 
RefCounted have to change depending on the allocator's ones, 
though. This is where attribute inference is rather needed.


More information about the Digitalmars-d mailing list