https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90102
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid --- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- Possible fix: --- 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,11 @@ namespace __debug return *this; } #else + /// Construction from a normal-mode vector + template<typename _Up, typename = _Requires<is_same<_Up, _Base>>> + vector(const _Up& __x) + : _Base(__x) { } + vector& operator=(const vector&) = default; We'd want to do the same for all the other debug mode containers too.