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

             Bug #: 51183
           Summary: pair piecewise_construct_t constructor copies
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: marc.gli...@normalesup.org


Hello,

on clc++, someone noticed that the technique used by libstdc++ for pair's
piecewise_construct_t constructor calls a (elided) copy constructor. In
particular:

#include <utility>
#include <tuple>
struct A {
        A();
        A(A const&)=delete;
};
int main(){
        std::pair<A,int> p { std::piecewise_construct_t(), std::make_tuple(),
std::make_tuple(1) };
}

is rejected by the compiler.

Reply via email to