blob: 3ffdbcf0e7e01b3ec777f9d43dd4b4b7e3ee377e [file] [log] [blame]
// Testcase from P0127R2
// { dg-do compile { target c++17 } }
template<auto n> struct B { decltype(n) f = n; };
B<5> b1; // OK: template parameter type is int
B<'a'> b2; // OK: template parameter type is char
B<2.5> b3; // { dg-error "" "" { target c++17_down } } template parameter type cannot be double
template <auto n> void f(B<n>) { }
int main()
{
f(B<42>());
f(B<'a'>());
}