Philippe Sigaud wrote:
On Thu, Jul 22, 2010 at 00:27, Andrei Alexandrescu <[email protected] <mailto:[email protected]>> wrote:

    The double destructor hits a bug in the compiler implementation.
    Anyway, here's the committed code:

    http://www.dsource.org/projects/phobos/changeset/1774

    It uses a new idiom that is enabled by auto returns - defines a
    struct inside the function and returns it. That's a veritable
    existential type!
    (http://stackoverflow.com/questions/292274/what-is-an-existential-type)
    I expect more of that idiom in the upcoming commits..


Hmm, so the struct Scoped is implicitly parametrized by T and Args.... Cool.

Why do you put a second layer of (Args...) in Scoped constructor? Why not just

this(Args args) if (etc) {...}

And, in your case, if you used Args inside Scoped (which you don't do), would that be the ctor's Args which'd be used?


Philippe

Great point. I simplified the implementation:

http://www.dsource.org/projects/phobos/changeset/1776

PS: too bad that, if bug 2581 is not squashed, your scoped won't show in the docs :(

I'll fix that later with a version(ddoc).


Andrei

Reply via email to