https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90102
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- I'll come back to this for GCC 10. Slightly better (and not broken) patch: --- a/libstdc++-v3/include/debug/vector +++ b/libstdc++-v3/include/debug/vector @@ -220,11 +220,11 @@ namespace __debug ~vector() = default; #endif +#if __cplusplus < 201103L /// Construction from a normal-mode vector vector(const _Base& __x) : _Base(__x) { } -#if __cplusplus < 201103L vector& operator=(const vector& __x) { @@ -234,6 +234,12 @@ namespace __debug return *this; } #else + /// Construction from a normal-mode vector + template<typename _Up, + typename = _Require<is_same<__remove_cvref_t<_Up>, _Base>>> + vector(const _Up& __x) + : _Base(std::forward<_Base>(__x)) { } + vector& operator=(const vector&) = default;