https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77395
--- Comment #3 from Johannes S. Mueller-Roemer <j.s.mueller-roemer at gmx dot net> --- (In reply to Daniel Krügler from comment #1) > I think a better test-case is the following one, which does not depend on > tuple at all: > > //################################# > #include <type_traits> > > struct derived; > struct base > { > operator derived & () &; > operator derived const & () const &; > operator derived && () &&; > }; > > struct derived : base {}; > > static_assert(std::is_constructible<derived&&, base&&>::value, ""); > > int main() > { > } > //################################# Probably. The failure in std::tuple is only due to now enforcing that std::is_constructible needs to be true, which it wasn't before. The bug in std::is_constructible might be older.