[Bug c++/81527] Missing inherited constructor by "using-declarations"

tuwwcn at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Jul 24 10:58:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81527

--- Comment #1 from Wei-Wei Tu <tuwwcn at gmail dot com> ---
Some additional information:

The above code is REJECTED by GCC 6.2.0 too.

But the below code is PASSED by GCC 6.1.0, 6.3.0, 6.4.0, 7.1.0. The only
difference is explicitly casting p's type to its own type.

/////////////////////////////////////////////
#include <utility>

struct A : public std::pair< int, int> {
    using std::pair<int, int>::pair;
};

int main() {
    std::pair<int, int> p{1, 2}; 
    A a(std::pair<int, int>(p));
}
///////////////////////////////////////////


More information about the Gcc-bugs mailing list