http://d.puremagic.com/issues/show_bug.cgi?id=9732



--- Comment #2 from Ali Cehreli <[email protected]> 2013-03-16 22:25:36 PDT ---
I think you are right because the .init state of a member may not be as simple
as one thinks. Although OuterStruct.inner must be known at compile time, it may
have a non-trivial destructor that needs to be called:

struct Inner
{
    ~this()
    {
        // ... not-trivial destructor ...
    }

    // ...
}

struct OuterStruct
{
    Inner inner = Inner(specialInitValue);    // <-- compile-time .init

    this(int i)
    {
        this.inner = Inner(i);    // <-- further assignment
    }
}

Blitting the rvalue on top of OuterStruct.inner would not be right in that
case.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to