On 24/08/13 02:44, H. S. Teoh wrote:
I've written up a proposal to solve the partially-constructed object
problem[*] in D in a very nice way by extending scope guards

Converse problem: suppose that you need certain resources to be _created_ in order for the struct to work correctly. Consider:

    struct Foo
    {
        Resource res;

        this(int n)
        {
            res = getResource(n);
        }
    }

    void main()
    {
        auto foo1 = Foo(10);  // Good! Resource is initialized
        Foo foo2;   // Bad! Resource is uninitialized
    }

... where we can probably reasonably assume that getResource is doing some kind of allocation.

Is there any way to handle this needed-at-entry-to-scope requirement, in a similar way to how your DIP handles exit of scope?

Reply via email to