https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121046
--- Comment #4 from GCC 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:bbc0e70b610f19320339e4a311591b42bd436e9b commit r16-3435-gbbc0e70b610f19320339e4a311591b42bd436e9b Author: Jonathan Wakely <jwak...@redhat.com> Date: Sat Jul 12 13:09:03 2025 +0100 libstdc++: Constrain bitset(const CharT*) constructor [PR121046] Asking std::is_constructible_v<std::bitset<1>, NonTrivial*> gives an error, rather than answering the query. The problem is that the constructor for std::bitset("010101") is not constrained to only accept pointers to char-like types, and for the second parameter (which has a default argument) std::basic_string_view<CharT> gets instantiated. If the type is not char-like then that has undefined behaviour, and might trigger a static_assert to fail in the body of std::basic_string_view. We can fix it by constraining that constructor using the requirements for char-like types from [strings.general] p1. I've submitted LWG 4294 and proposed making this change in the standard. libstdc++-v3/ChangeLog: PR libstdc++/121046 * include/std/bitset (bitset(const CharT*, ...)): Add constraints on CharT type. * testsuite/23_containers/bitset/lwg4294.cc: New test.