blob: 37034bb58cd6e2693a941491d72db34045419fea [file] [log] [blame]
// { dg-do compile { target c++17 } }
template<class Element>
struct box {
template<class E>
constexpr box(E && e)
noexcept(noexcept(Element(e)))
{}
};
template<class... Ts>
struct compressed_tuple_ : box<Ts> ... {
template<typename... Args>
constexpr compressed_tuple_(Args &&... args)
noexcept((noexcept(box<Ts>(args)) && ...))
: box<Ts>(args)...
{}
};
struct adaptor_cursor : compressed_tuple_<int*> {
using compressed_tuple_::compressed_tuple_;
};
int main() {
(void)noexcept(adaptor_cursor{(int*)0});
}