2 // { dg-do compile { target c++17 } }
4 template <typename T, T v>
5 struct integral_constant {
7 static constexpr const value_type value = v;
8 constexpr operator value_type (void) const { return value; }
10 template <typename T> struct is_trivial
11 : public integral_constant<bool, __is_trivial(T)> {};
14 T clone_object (const T& p)
16 if constexpr (is_trivial<T>::value)
21 int main (void) { return clone_object(0); }