http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53096

             Bug #: 53096
           Summary: [c++11] should be possible to default a copy ctor that
                    takes non-const arg
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: eric.nieb...@gmail.com


The following code does not compile:

    struct foo
    {
        foo() = default;
        foo(foo &) = default; // ERROR HERE
        foo(foo const &) = default;
    };

The error is:

    error: ‘foo::foo(foo&)’ declared to take non-const reference
    cannot be defaulted in the class body

This was correct for the FDIS, but is now incorrect given the resolution for
core issue 1333:

    http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1333

The code above should be accepted.

Reply via email to