// No PCH: // RUN: %clang_cc1 -pedantic -std=c++1z -include %s -verify %s // // With PCH: // RUN: %clang_cc1 -pedantic -std=c++1z -emit-pch %s -o %t // RUN: %clang_cc1 -pedantic -std=c++1z -include-pch %t -verify %s #ifndef HEADER #define HEADER template auto decomp(const T &t) { auto &[a, b] = t; return a + b; } struct Q { int a, b; }; constexpr int foo(Q &&q) { auto &[a, b] = q; return a * 10 + b; } #else int arr[2]; int k = decomp(arr); static_assert(foo({1, 2}) == 12); // expected-error@12 {{cannot decompose non-class, non-array type 'const int'}} int z = decomp(10); // expected-note {{instantiation of}} #endif