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