https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117858
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #2) > struct Focus > { > template<typename T> > constexpr explicit Focus(T newValue, int t = 0) { } This is not a reasonable constructor, it's going to interfere with all kinds of type traits that want to check constructibility.