www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 6216] New: Built-in opAssign implicitly defined should call field's opAssign

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6216

           Summary: Built-in opAssign implicitly defined should call
                    field's opAssign
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: k.hara.pg gmail.com



Following should compile.
----
struct X
{
    int n;
    const void opAssign(const X rhs) {}
}
struct S
{
    int n;
    const(X) x;
}
void main()
{
    S s;
    s = s;
}
----
test.d(14): Error: variable test.main.s cannot modify struct with immutable
members
----

S has implicitly defined opAssign, but it does not call field x's opAssign.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 26 2011
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6216




Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/b9896d14766fe5a067cf84d0d2c21418dfb35676
fix Issue 6216 - Built-in opAssign implicitly defined should call field's
opAssign

Separate 'top assignable' (see opAssign first) from 'blit assignable'
(memberwise), and now they are not related to 'modifiable' directly.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 07 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6216


yebblies <yebblies gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |yebblies gmail.com
         Resolution|                            |FIXED



https://github.com/D-Programming-Language/dmd/commit/5b42e51481d186ee5e3c2684a237a05cea33a0cf

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