// PR c++/105795 // { dg-do compile { target c++17 } } struct empty {}; template struct tuple_holder { [[no_unique_address]] T value; }; struct tuple : tuple_holder, tuple_holder {}; constexpr auto make_tuple(int&& i, empty&& e) { return tuple{i, e}; } constexpr int foo() { auto tuple = make_tuple(1, empty{}); return static_cast&>(tuple).value; } static_assert (foo() == 1);