https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80737
--- Comment #4 from Tim Shen <timshen at gcc dot gnu.org> --- (In reply to Tim Shen from comment #3) > (In reply to TC from comment #1) > > Looks like the constraint on the convert-everything constructor needs to > > check for is_same<decay_t<_Tp>, variant> first and short circuit if that's > > true. > > I'm not quite sure whether we need that short circuit - it's in a SFINAE > environment, so if anything goes wrong, there shouldn't be a hard error. > Therefore even if I agree that we should check is_same<decay_t<_Tp>, > variant> first, that shouldn't affect the correctness. s/even if/even though/.