xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/misc/misplaced-const-cxx17.cpp (revision 89a1d03e2b379e325daa5249411e414bbd995b5e)
1*89a1d03eSRichard // RUN: %check_clang_tidy -expect-clang-tidy-error %s misc-misplaced-const %t -- -- -std=c++17
2*89a1d03eSRichard 
3*89a1d03eSRichard // This test previously would cause a failed assertion because the structured
4*89a1d03eSRichard // binding declaration had no valid type associated with it. This ensures the
5*89a1d03eSRichard // expected clang diagnostic is generated instead.
6*89a1d03eSRichard // CHECK-MESSAGES: :[[@LINE+1]]:6: error: decomposition declaration '[x]' requires an initializer [clang-diagnostic-error]
7*89a1d03eSRichard auto [x];
8*89a1d03eSRichard 
9*89a1d03eSRichard struct S { int a; };
10*89a1d03eSRichard S f();
11*89a1d03eSRichard 
main()12*89a1d03eSRichard int main() {
13*89a1d03eSRichard   auto [x] = f();
14*89a1d03eSRichard }
15*89a1d03eSRichard 
16