[Bug libstdc++/95832] std::vector<bool> specialization leading std::variant ctor treating it as int rather than bool

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 23 07:39:24 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95832

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2020-06-23
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Target Milestone|---                         |11.0

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to fiesh from comment #0)
> The following code returned 1 when compiled with gcc-9 but returns 0 with
> gcc-10.

That's because gcc-10 implements http://wg21.link/p0608r3

GCC 10 doesn't implement http://wg21.link/p1957r2 so we still need the
additional constraint in variant's constructors that P0608R3 added: "and if Ti
is cv bool, remove_cvref_t<T> is bool."


More information about the Gcc-bugs mailing list