https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95832
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:c98fc4eb3afeda6ad8220d0d79bc1247a92c7c65 commit r11-1598-gc98fc4eb3afeda6ad8220d0d79bc1247a92c7c65 Author: Jonathan Wakely <jwak...@redhat.com> Date: Tue Jun 23 10:24:49 2020 +0100 libstdc++: Implement P1972R2 changes to std::variant (PR 95832) G++ implements P1972R2 since r11-1597-0ca22d027ecc and so we no longer need the P0608R3 special case to prevent narrowing conversions to bool. Since non-GNU compilers don't necessarily implment P1972R2 yet, this may cause a regression for those compilers. There is no feature-test macro we can use to detect it though, so we'll have to live with it. libstdc++-v3/ChangeLog: PR libstdc++/95832 * include/std/variant (__detail::__variant::_Build_FUN): Remove partial specialization to prevent narrowing conversions to bool. * testsuite/20_util/variant/compile.cc: Test non-narrowing conversions to bool. * testsuite/20_util/variant/run.cc: Likewise.