1 // Testcase from P0170R1
2 // { dg-do compile { target c++17 } }
3 
4 auto ID = [](auto a) { return a; };
5 static_assert( ID (3) == 3); // OK
6 struct NonLiteral {
NonLiteralNonLiteral7   NonLiteral(int n) : n(n) { }
8   int n;
9 };
10 
11 static_assert( ID (NonLiteral{3}).n == 3); // { dg-error "non-literal" }
12 // { dg-prune-output "static assertion" }
13