https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85251
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- Thanks to ppalka who pointed out that [namespace.udecl] p13 does specify what should happen here: Constructors that are named by a using-declaration are treated as though they were constructors of the derived class when looking up the constructors of the derived class ([class.qual]) or forming a set of overload candidates ([over.match.ctor], [over.match.copy], [over.match.list]). So the inherited constructor should still be explicit when considered by overload resolution.