https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81527
--- Comment #2 from Wei-Wei Tu <tuwwcn at gmail dot com> --- > The above code is REJECTED by GCC 6.2.0 too. ==> Sorry for the mistake, The above code is ACCEPTED by GCC 6.2.0 too. (In reply to Wei-Wei Tu from comment #1) > 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)); > } > ///////////////////////////////////////////