RFC: moving forward with @nogc Phobos
Sean Kelly via Digitalmars-d
digitalmars-d at puremagic.com
Wed Oct 1 11:37:49 PDT 2014
On Wednesday, 1 October 2014 at 17:53:43 UTC, H. S. Teoh via
Digitalmars-d wrote:
>
> But Sean's idea only takes strings into account. Strings aren't
> the only
> allocated resource Phobos needs to deal with. So extrapolating
> from that
> idea, each memory management struct (or whatever other
> aggregate we end
> up using), say call it MMP, will have to define MMP.string,
> MMP.jsonNode
> (since parseJSON() need to allocate not only strings but JSON
> nodes),
> MMP.redBlackTreeNode, MMP.listNode, MMP.userDefinedNode, ...
>
> Nope, still don't see how this could work. Please clarify, kthx.
Assuming you're willing to take the memoryModel type as a
template argument, I imagine we could do something where the user
can specialize the memoryModel for their own types, a bit like
how information is derived for iterators in C++. The problem is
that this still means passing the memoryModel in as a template
argument. What I'd really want is for it to be a global, except
that templated virtuals is logically impossible. I guess
something could maybe be sorted out via a factory design, but
that's not terribly D-like. I'm at a loss for how to make this
memoryModel thing work the way I'd actually want it to if I were
to use it.
More information about the Digitalmars-d
mailing list