https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96537
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |INVALID --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Not a bug. C++11 and C++14 said for the relevant pair(U&&, V&&) constructor: Remarks: If U is not implicitly convertible to first_type or V is not implicitly convertible to second_type this constructor shall not participate in overload resolution. That was changed for C++17 by http://wg21.link/n4387 which was accepted into the C++17 draft in 2015, so you can't expect C++11 compilers released before then to support the new API.