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.

Reply via email to