[clang-tools-extra] [clang-tidy] Fix false positive in bugprone-use-after-move for std::tie (PR #192895)

via cfe-commits cfe-commits at lists.llvm.org
Sun Apr 19 22:47:33 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 3198 tests passed
* 7 tests skipped
* 2 tests failed

## Failed Tests
(click on a test name to see its output)

### Clang Tools
<details>
<summary>Clang Tools.clang-tidy/checkers/bugprone/use-after-move.cpp</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/check_clang_tidy.py -std=c++11,c++14 -check-suffixes=,CXX11 /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp bugprone-use-after-move /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp --    -config='{CheckOptions: {      bugprone-use-after-move.InvalidationFunctions: "::Database<>::StaticCloseConnection;Database<>::CloseConnection;FriendCloseConnection;FreeCloseConnection",      bugprone-use-after-move.ReinitializationFunctions: "::Database<>::Reset;::Database<>::StaticReset;::FriendReset;::RegularReset"    }}' --    -fno-delayed-template-parsing
# executed command: /usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/check_clang_tidy.py -std=c++11,c++14 -check-suffixes=,CXX11 /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp bugprone-use-after-move /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp -- '-config={CheckOptions: {      bugprone-use-after-move.InvalidationFunctions: "::Database<>::StaticCloseConnection;Database<>::CloseConnection;FriendCloseConnection;FreeCloseConnection",      bugprone-use-after-move.ReinitializationFunctions: "::Database<>::Reset;::Database<>::StaticReset;::FriendReset;::RegularReset"    }}' -- -fno-delayed-template-parsing
# .---command stdout------------
# | Running ['clang-tidy', '--experimental-custom-checks', '/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp', '-fix', '--checks=-*,bugprone-use-after-move', '-config={CheckOptions: {      bugprone-use-after-move.InvalidationFunctions: "::Database<>::StaticCloseConnection;Database<>::CloseConnection;FriendCloseConnection;FreeCloseConnection",      bugprone-use-after-move.ReinitializationFunctions: "::Database<>::Reset;::Database<>::StaticReset;::FriendReset;::RegularReset"    }}', '--', '-fno-delayed-template-parsing', '-std=c++11', '-nostdinc++', '-isystem', '/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std']...
# | clang-tidy --experimental-custom-checks /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp -fix --checks=-*,bugprone-use-after-move -config={CheckOptions: {      bugprone-use-after-move.InvalidationFunctions: "::Database<>::StaticCloseConnection;Database<>::CloseConnection;FriendCloseConnection;FreeCloseConnection",      bugprone-use-after-move.ReinitializationFunctions: "::Database<>::Reset;::Database<>::StaticReset;::FriendReset;::RegularReset"    }} -- -fno-delayed-template-parsing -std=c++11 -nostdinc++ -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std failed:
# | 215 warnings and 14 errors generated.
# | Error while processing /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp.
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:80:3: warning: 'a' used after it was moved [bugprone-use-after-move]
# |    80 |   a.foo();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:79:15: note: move occurred here
# |    79 |   A other_a = std::move(a);
# |       |               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:110:3: warning: 'b' used after it was moved [bugprone-use-after-move]
# |   110 |   b.foo(); // But destruction is not a reinitialization.
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:108:3: note: move occurred here
# |   108 |   std::move(b);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:116:3: warning: 'c' used after it was moved [bugprone-use-after-move]
# |   116 |   c.foo();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:115:3: note: move occurred here
# |   115 |   std::move(c);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:127:3: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   127 |   a.foo();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:126:15: note: move occurred here
# |   126 |   A other_a = std::move(a);
# |       |               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:138:15: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   138 |     std::move(a);
# |       |               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:137:5: note: move occurred here
# |   137 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:147:17: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   147 |       std::move(a);
# |       |                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:147:7: note: move occurred here
# |   147 |       std::move(a);
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:147:17: note: the use happens in a later loop iteration than the move
# |   147 |       std::move(a);
# |       |                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:158:3: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   158 |   a.foo();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:157:3: note: move occurred here
# |   157 |   std::move(a);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:172:6: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |   172 |     *ptr;
# |       |      ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:169:5: note: move occurred here
# |   169 |     std::move(ptr);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:179:5: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |   179 |     ptr->foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:178:5: note: move occurred here
# |   178 |     std::move(ptr);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:186:5: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |   186 |     ptr[0];
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:185:5: note: move occurred here
# |   185 |     std::move(ptr);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:195:6: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |   195 |     *ptr;
# |       |      ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:192:5: note: move occurred here
# |   192 |     std::move(ptr);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:202:5: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |   202 |     ptr->foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:201:5: note: move occurred here
# |   201 |     std::move(ptr);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:209:14: warning: 'opt' used after it was moved [bugprone-use-after-move]
# |   209 |     A val = *opt;
# |       |              ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:208:5: note: move occurred here
# |   208 |     std::move(opt);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:265:5: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |   265 |     ptr.get();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:264:5: note: move occurred here
# |   264 |     std::move(ptr);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:276:5: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   276 |     a.foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:275:5: note: move occurred here
# |   275 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:286:3: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   286 |   a.foo();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:285:5: note: move occurred here
# |   285 |   A another_a(std::move(a));
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:303:3: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   303 |   a.foo();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:302:7: note: move occurred here
# |   302 |   S s{std::move(a)};
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:314:7: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   314 |       a.foo();
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:313:7: note: move occurred here
# |   313 |       std::move(a);
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:324:7: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   324 |       a.foo();
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:323:7: note: move occurred here
# |   323 |       std::move(a);
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:356:20: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   356 |     auto lambda = [a]() { a.foo(); };
# |       |                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:355:5: note: move occurred here
# |   355 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:364:20: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   364 |     auto lambda = [=]() { a.foo(); };
# |       |                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:363:5: note: move occurred here
# |   363 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:372:21: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   372 |     auto lambda = [&a]() { a.foo(); };
# |       |                     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:371:5: note: move occurred here
# |   371 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:379:20: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   379 |     auto lambda = [&]() { a.foo(); };
# |       |                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:378:5: note: move occurred here
# |   378 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:409:5: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   409 |     a.foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:408:24: note: move occurred here
# |   408 |     auto lambda = [a = std::move(a)] { a.foo(); };
# |       |                        ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:422:3: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   422 |   a.foo();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:421:3: note: move occurred here
# |   421 |   std::move(a);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:433:3: warning: 't' used after it was moved [bugprone-use-after-move]
# |   433 |   t.foo();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:432:3: note: move occurred here
# |   432 |   std::move(t);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:449:3: warning: 'convertible' used after it was moved [bugprone-use-after-move]
# |   449 |   convertible;
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:448:9: note: move occurred here
# |   448 |   takeA(std::move(convertible));
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:528:7: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   528 |       a.foo();
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:532:7: note: move occurred here
# |   532 |       std::move(a);
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:528:7: note: the use happens in a later loop iteration than the move
# |   528 |       a.foo();
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:540:9: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   540 |         a.foo();
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:545:9: note: move occurred here
# |   545 |         std::move(a);
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:540:9: note: the use happens in a later loop iteration than the move
# |   540 |         a.foo();
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:620:7: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   620 |       a.foo();
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:618:7: note: move occurred here
# |   618 |       std::move(a);
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:636:5: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   636 |     a.foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:633:5: note: move occurred here
# |   633 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:719:5: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   719 |     a.foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:718:5: note: move occurred here
# |   718 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:732:7: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   732 |       a.foo();
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:727:5: note: move occurred here
# |   727 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:769:25: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   769 |     passByConstPointer(&a);
# |       |                         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:768:5: note: move occurred here
# |   768 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:775:24: warning: 'a' used after it was moved [bugprone-use-after-move]
# |   775 |   passByConstReference(a);
# |       |                        ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:774:3: note: move occurred here
# |   774 |   std::move(a);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:881:5: warning: 'container' used after it was moved [bugprone-use-after-move]
# |   881 |     container.clear();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:880:5: note: move occurred here
# |   880 |     std::move(container);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:890:5: warning: 'container1' used after it was moved [bugprone-use-after-move]
# |   890 |     container1.empty();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:888:5: note: move occurred here
# |   888 |     std::move(container1);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:936:5: warning: 'container' used after it was moved [bugprone-use-after-move]
# |   936 |     container.assign(0, 0);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:935:5: note: move occurred here
# |   935 |     std::move(container);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:945:5: warning: 'container1' used after it was moved [bugprone-use-after-move]
# |   945 |     container1.empty();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:943:5: note: move occurred here
# |   943 |     std::move(container1);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:987:5: warning: 'obj' used after it was moved [bugprone-use-after-move]
# |   987 |     obj.foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:986:5: note: move occurred here
# |   986 |     std::move(obj);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1003:5: warning: 'obj1' used after it was moved [bugprone-use-after-move]
# |  1003 |     obj1.foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1001:5: note: move occurred here
# |  1001 |     std::move(obj1);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1036:20: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |  1036 |   int inv_value = *ptr;
# |       |                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1034:34: note: move occurred here
# |  1034 |   SmartPtrAlike<int> other_ptr = std::move(ptr);
# |       |                                  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1063:20: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |  1063 |   int inv_value = *ptr;
# |       |                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1061:39: note: move occurred here
# |  1061 |   MultipleAnnotationsType other_ptr = std::move(ptr);
# |       |                                       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1083:3: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |  1083 |   ptr.get();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1082:29: note: move occurred here
# |  1082 |   BadAnnotation other_ptr = std::move(ptr);
# |       |                             ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1103:3: warning: 'ptr' used after it was moved [bugprone-use-after-move]
# |  1103 |   ptr.get();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1102:33: note: move occurred here
# |  1102 |   BadAnnotationArgs other_ptr = std::move(ptr);
# |       |                                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1138:17: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1138 |     passByValue(a.getInt(), std::move(a));
# |       |                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1138:29: note: move occurred here
# |  1138 |     passByValue(a.getInt(), std::move(a));
# |       |                             ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1138:17: note: the use and move are unsequenced, i.e. there is no guarantee about the order in which they are evaluated
# |  1138 |     passByValue(a.getInt(), std::move(a));
# |       |                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1145:31: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1145 |     passByValue(std::move(a), a.getInt());
# |       |                               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1145:17: note: move occurred here
# |  1145 |     passByValue(std::move(a), a.getInt());
# |       |                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1145:31: note: the use and move are unsequenced, i.e. there is no guarantee about the order in which they are evaluated
# |  1145 |     passByValue(std::move(a), a.getInt());
# |       |                               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1153:9: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1153 |     g(g(a, std::move(a)), g(a, std::move(a)));
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1153:27: note: move occurred here
# |  1153 |     g(g(a, std::move(a)), g(a, std::move(a)));
# |       |                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1153:9: note: the use and move are unsequenced, i.e. there is no guarantee about the order in which they are evaluated
# |  1153 |     g(g(a, std::move(a)), g(a, std::move(a)));
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1153:29: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1153 |     g(g(a, std::move(a)), g(a, std::move(a)));
# |       |                             ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1153:7: note: move occurred here
# |  1153 |     g(g(a, std::move(a)), g(a, std::move(a)));
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1153:29: note: the use and move are unsequenced, i.e. there is no guarantee about the order in which they are evaluated
# |  1153 |     g(g(a, std::move(a)), g(a, std::move(a)));
# |       |                             ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1173:7: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1173 |     v[a.getInt()] = intFromA(std::move(a));
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1173:21: note: move occurred here
# |  1173 |     v[a.getInt()] = intFromA(std::move(a));
# |       |                     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1173:7: note: the use and move are unsequenced, i.e. there is no guarantee about the order in which they are evaluated
# |  1173 |     v[a.getInt()] = intFromA(std::move(a));
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1181:44: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1181 |     v[intFromA(std::move(a))] = intFromInt(a.i);
# |       |                                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1181:7: note: move occurred here
# |  1181 |     v[intFromA(std::move(a))] = intFromInt(a.i);
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1181:44: note: the use and move are unsequenced, i.e. there is no guarantee about the order in which they are evaluated
# |  1181 |     v[intFromA(std::move(a))] = intFromInt(a.i);
# |       |                                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1199:5: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1199 |     a.foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1198:17: note: move occurred here
# |  1198 |     passByValue(std::move(a), (a = A()));
# |       |                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1206:5: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1206 |     a.foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1205:28: note: move occurred here
# |  1205 |     passByValue((a = A()), std::move(a));
# |       |                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1229:17: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1229 |     passByValue(a.getInt(), (a = A()));
# |       |                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1228:5: note: move occurred here
# |  1228 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1236:28: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1236 |     passByValue((a = A()), a.getInt());
# |       |                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1235:5: note: move occurred here
# |  1235 |     std::move(a);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1253:5: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1253 |     a.foo();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1252:16: note: move occurred here
# |  1252 |     (a = A()), A(std::move(a));
# |       |                ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1289:25: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1289 |     S2 s2{std::move(a), a.getInt()};
# |       |                         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1289:11: note: move occurred here
# |  1289 |     S2 s2{std::move(a), a.getInt()};
# |       |           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1295:35: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1295 |     S2 s2{.a = std::move(a), .i = a.getInt()};
# |       |                                   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1295:11: note: move occurred here
# |  1295 |     S2 s2{.a = std::move(a), .i = a.getInt()};
# |       |           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1308:25: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1308 |     S3 s3{std::move(a), a.getInt()};
# |       |                         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1308:11: note: move occurred here
# |  1308 |     S3 s3{std::move(a), a.getInt()};
# |       |           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1325:31: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1325 |     A a1 = std::move(a), a2 = a;
# |       |                               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1325:12: note: move occurred here
# |  1325 |     A a1 = std::move(a), a2 = a;
# |       |            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1349:41: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1349 |     if (A(std::move(a)).getInt() > 0 && a.getInt() > 0) {
# |       |                                         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1349:9: note: move occurred here
# |  1349 |     if (A(std::move(a)).getInt() > 0 && a.getInt() > 0) {
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1363:41: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1363 |     if (A(std::move(a)).getInt() > 0 || a.getInt() > 0) {
# |       |                                         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1363:9: note: move occurred here
# |  1363 |     if (A(std::move(a)).getInt() > 0 || a.getInt() > 0) {
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1409:43: warning: 'a1' used after it was moved [bugprone-use-after-move]
# |  1409 |     if (A a1; A(std::move(a1)).getInt() > a1.getInt()) {}
# |       |                                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1409:15: note: move occurred here
# |  1409 |     if (A a1; A(std::move(a1)).getInt() > a1.getInt()) {}
# |       |               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1409:43: note: the use and move are unsequenced, i.e. there is no guarantee about the order in which they are evaluated
# |  1409 |     if (A a1; A(std::move(a1)).getInt() > a1.getInt()) {}
# |       |                                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1416:33: warning: 'a1' used after it was moved [bugprone-use-after-move]
# |  1416 |     if (A a2 = std::move(a1); A(a1) > 0) {}
# |       |                                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1416:16: note: move occurred here
# |  1416 |     if (A a2 = std::move(a1); A(a1) > 0) {}
# |       |                ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1448:5: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1448 |     a->bar(consumeA(std::move(a)));
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1448:21: note: move occurred here
# |  1448 |     a->bar(consumeA(std::move(a)));
# |       |                     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1448:5: note: the use and move are unsequenced, i.e. there is no guarantee about the order in which they are evaluated
# |  1448 |     a->bar(consumeA(std::move(a)));
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1456:31: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1456 |     getArg(std::move(a))->bar(a->getInt());
# |       |                               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1456:12: note: move occurred here
# |  1456 |     getArg(std::move(a))->bar(a->getInt());
# |       |            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1456:31: note: the use and move are unsequenced, i.e. there is no guarantee about the order in which they are evaluated
# |  1456 |     getArg(std::move(a))->bar(a->getInt());
# |       |                               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1466:5: warning: 'a' used after it was moved [bugprone-use-after-move]
# |  1466 |     a.bar(consumeA(std::move(a)));
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1466:11: note: move occurred here
# |  1466 |     a.bar(consumeA(std::move(a)));
# |       |           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1538:11: warning: 'val' used after it was moved [bugprone-use-after-move]
# |  1538 |         b{val.empty()}
# |       |           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1537:9: note: move occurred here
# |  1537 |         s{std::move(val)},
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1554:12: warning: 'val' used after it was moved [bugprone-use-after-move]
# |  1554 |         b{[&] { return val.empty(); }()},
# |       |            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1553:9: note: move occurred here
# |  1553 |         s{std::move(val)},
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1560:18: warning: 'str' used after it was moved [bugprone-use-after-move]
# |  1560 |           return str.empty();
# |       |                  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1559:11: note: move occurred here
# |  1559 |           std::move(str);
# |       |           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1564:15: warning: 'val' used after it was moved [bugprone-use-after-move]
# |  1564 |     std::move(val);
# |       |               ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1553:9: note: move occurred here
# |  1553 |         s{std::move(val)},
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1569:5: warning: 'val2' used after it was moved [bugprone-use-after-move]
# |  1569 |     val2.empty();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1568:5: note: move occurred here
# |  1568 |     std::move(val2);
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1586:11: warning: 'val' used after it was moved [bugprone-use-after-move]
# |  1586 |         b{val.empty()},
# |       |           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1588:9: note: move occurred here
# |  1588 |         s{std::move(val)} {} // wrong order
# |       |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1611:55: warning: 'b' used after it was moved [bugprone-use-after-move]
# |  1611 |   CtorA(Obj b) : CtorB{b}, CtorC{std::move(b)}, CtorD{b} {}
# |       |                                                       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1611:34: note: move occurred here
# |  1611 |   CtorA(Obj b) : CtorB{b}, CtorC{std::move(b)}, CtorD{b} {}
# |       |                                  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1641:74: warning: 'b' used after it was moved [bugprone-use-after-move]
# |  1641 |       : Base{[c = std::move(b)] mutable { return std::move(c); }}, CtorC{b} {}
# |       |                                                                          ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1641:19: note: move occurred here
# |  1641 |       : Base{[c = std::move(b)] mutable { return std::move(c); }}, CtorC{b} {}
# |       |                   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1649:5: warning: 'val' used after it was moved [bugprone-use-after-move]
# |  1649 |     val.empty();
# |       |     ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1648:30: note: move occurred here
# |  1648 |   PR38187(std::string val) : val_(std::move(val)) {
# |       |                              ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1671:27: warning: 't' used after it was forwarded [bugprone-use-after-move]
# |  1671 |   consume(std::forward<T>(t));
# |       |                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1670:11: note: forward occurred here
# |  1670 |   consume(std::forward<T>(t));
# |       |           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1704:3: warning: 'db1' used after it was invalidated by 'CloseConnection<>' [bugprone-use-after-move]
# |  1704 |   db1.Query();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1703:7: note: invalidation occurred here
# |  1703 |   db1.CloseConnection();
# |       |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1710:3: warning: 'db2' used after it was invalidated by 'StaticCloseConnection<>' [bugprone-use-after-move]
# |  1710 |   db2.Query();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1709:3: note: invalidation occurred here
# |  1709 |   DB::StaticCloseConnection(db2);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1716:3: warning: 'db3' used after it was invalidated by 'StaticCloseConnection<>' [bugprone-use-after-move]
# |  1716 |   db3.Query();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1715:3: note: invalidation occurred here
# |  1715 |   DB().StaticCloseConnection(db3);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1722:3: warning: 'db4' used after it was invalidated by 'FriendCloseConnection<>' [bugprone-use-after-move]
# |  1722 |   db4.Query();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1721:3: note: invalidation occurred here
# |  1721 |   FriendCloseConnection(db4);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1728:3: warning: 'db5' used after it was invalidated by 'FriendCloseConnection<>' [bugprone-use-after-move]
# |  1728 |   db5.Query();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1727:3: note: invalidation occurred here
# |  1727 |   FriendCloseConnection(db5, /*disconnect timeout*/ 5);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1734:3: warning: 'db6' used after it was invalidated by 'FreeCloseConnection' [bugprone-use-after-move]
# |  1734 |   db6.Query();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1733:3: note: invalidation occurred here
# |  1733 |   FreeCloseConnection(db6);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1767:3: warning: 'db2' used after it was moved [bugprone-use-after-move]
# |  1767 |   db2.Query();
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1766:3: note: move occurred here
# |  1766 |   std::move(db2);
# |       |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1801:1: error: no template named 'pair' in namespace 'custom_reinitialization::std'; did you mean '::std::pair'? [clang-diagnostic-error]
# |  1801 | std::pair<std::string, std::string> makeStringPair(std::string a,
# |       | ^~~~~~~~~
# |       | ::std::pair
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/utility:31:8: note: '::std::pair' declared here
# |    31 | struct pair {
# |       |        ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1801:16: error: no member named 'string' in namespace 'custom_reinitialization::std' [clang-diagnostic-error]
# |  1801 | std::pair<std::string, std::string> makeStringPair(std::string a,
# |       |                ^~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1801:52: error: no type named 'string' in namespace 'custom_reinitialization::std'; did you mean '::std::string'? [clang-diagnostic-error]
# |  1801 | std::pair<std::string, std::string> makeStringPair(std::string a,
# |       |                                                    ^~~~~~~~~~~
# |       |                                                    ::std::string
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/string:101:28: note: '::std::string' declared here
# |   101 | typedef basic_string<char> string;
# |       |                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1802:52: error: no type named 'string' in namespace 'custom_reinitialization::std'; did you mean '::std::string'? [clang-diagnostic-error]
# |  1802 |                                                    std::string b);
# |       |                                                    ^~~~~~~~~~~
# |       |                                                    ::std::string
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/string:101:28: note: '::std::string' declared here
# |   101 | typedef basic_string<char> string;
# |       |                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1806:3: error: no type named 'string' in namespace 'custom_reinitialization::std'; did you mean '::std::string'? [clang-diagnostic-error]
# |  1806 |   std::string a, b;
# |       |   ^~~~~~~~~~~
# |       |   ::std::string
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/string:101:28: note: '::std::string' declared here
# |   101 | typedef basic_string<char> string;
# |       |                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1807:8: error: no type named 'move' in namespace 'custom_reinitialization::std' [clang-diagnostic-error]
# |  1807 |   std::move(a);
# |       |   ~~~~~^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1808:8: error: no type named 'move' in namespace 'custom_reinitialization::std' [clang-diagnostic-error]
# |  1808 |   std::move(b);
# |       |   ~~~~~^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1816:3: error: no type named 'string' in namespace 'custom_reinitialization::std'; did you mean '::std::string'? [clang-diagnostic-error]
# |  1816 |   std::string a, b;
# |       |   ^~~~~~~~~~~
# |       |   ::std::string
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/string:101:28: note: '::std::string' declared here
# |   101 | typedef basic_string<char> string;
# |       |                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1817:8: error: no type named 'move' in namespace 'custom_reinitialization::std' [clang-diagnostic-error]
# |  1817 |   std::move(a);
# |       |   ~~~~~^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1824:3: error: no type named 'string' in namespace 'custom_reinitialization::std'; did you mean '::std::string'? [clang-diagnostic-error]
# |  1824 |   std::string a, b;
# |       |   ^~~~~~~~~~~
# |       |   ::std::string
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/string:101:28: note: '::std::string' declared here
# |   101 | typedef basic_string<char> string;
# |       |                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1826:37: error: no member named 'move' in namespace 'custom_reinitialization::std'; did you mean '::std::move'? [clang-diagnostic-error]
# |  1826 |     std::tie(a, b) = makeStringPair(std::move(a), std::move(b));
# |       |                                     ^~~~~~~~~
# |       |                                     ::std::move
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/utility:9:55: note: '::std::move' declared here
# |     9 | constexpr typename std::remove_reference<_Tp>::type &&move(_Tp &&__t) {
# |       |                                                       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1826:51: error: no member named 'move' in namespace 'custom_reinitialization::std'; did you mean '::std::move'? [clang-diagnostic-error]
# |  1826 |     std::tie(a, b) = makeStringPair(std::move(a), std::move(b));
# |       |                                                   ^~~~~~~~~
# |       |                                                   ::std::move
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/utility:9:55: note: '::std::move' declared here
# |     9 | constexpr typename std::remove_reference<_Tp>::type &&move(_Tp &&__t) {
# |       |                                                       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1828:37: error: no member named 'move' in namespace 'custom_reinitialization::std'; did you mean '::std::move'? [clang-diagnostic-error]
# |  1828 |     std::tie(a, b) = makeStringPair(std::move(a), std::move(b));
# |       |                                     ^~~~~~~~~
# |       |                                     ::std::move
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/utility:9:55: note: '::std::move' declared here
# |     9 | constexpr typename std::remove_reference<_Tp>::type &&move(_Tp &&__t) {
# |       |                                                       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp:1828:51: error: no member named 'move' in namespace 'custom_reinitialization::std'; did you mean '::std::move'? [clang-diagnostic-error]
# |  1828 |     std::tie(a, b) = makeStringPair(std::move(a), std::move(b));
# |       |                                                   ^~~~~~~~~
# |       |                                                   ::std::move
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std/utility:9:55: note: '::std::move' declared here
# |     9 | constexpr typename std::remove_reference<_Tp>::type &&move(_Tp &&__t) {
# |       |                                                       ^
# | Suppressed 129 warnings (129 with check filters).
# | Found compiler errors, but -fix-errors was not specified.
# | Fixes have NOT been applied.
# | 
# | Found compiler error(s).
# | 
# `-----------------------------
# .---command stderr------------
# | Traceback (most recent call last):
# |   File "/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/check_clang_tidy.py", line 554, in <module>
# |     main()
# |   File "/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/check_clang_tidy.py", line 550, in main
# |     CheckRunner(args, extra_args).run()
# |   File "/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/check_clang_tidy.py", line 426, in run
# |     clang_tidy_output = self.run_clang_tidy()
# |                         ^^^^^^^^^^^^^^^^^^^^^
# |   File "/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/check_clang_tidy.py", line 289, in run_clang_tidy
# |     clang_tidy_output = try_run(args)
# |                         ^^^^^^^^^^^^^
# |   File "/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/check_clang_tidy.py", line 64, in try_run
# |     process_output = subprocess.check_output(args, stderr=subprocess.STDOUT).decode(
# |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |   File "/usr/lib/python3.12/subprocess.py", line 466, in check_output
# |     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
# |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |   File "/usr/lib/python3.12/subprocess.py", line 571, in run
# |     raise CalledProcessError(retcode, process.args,
# | subprocess.CalledProcessError: Command '['clang-tidy', '--experimental-custom-checks', '/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/checkers/bugprone/Output/use-after-move.cpp.tmp.cpp', '-fix', '--checks=-*,bugprone-use-after-move', '-config={CheckOptions: {      bugprone-use-after-move.InvalidationFunctions: "::Database<>::StaticCloseConnection;Database<>::CloseConnection;FriendCloseConnection;FreeCloseConnection",      bugprone-use-after-move.ReinitializationFunctions: "::Database<>::Reset;::Database<>::StaticReset;::FriendReset;::RegularReset"    }}', '--', '-fno-delayed-template-parsing', '-std=c++11', '-nostdinc++', '-isystem', '/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/../test/clang-tidy/checkers/Inputs/Headers/std']' returned non-zero exit status 1.
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>Clang Tools.clang-tidy/infrastructure/alphabetical-order.test</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/../../../clang-tidy/tool/check_alphabetical_order.py -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/alphabetical-order.test.tmp.clang-tidy-checks-list.rst
# executed command: /usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/../../../clang-tidy/tool/check_alphabetical_order.py -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/alphabetical-order.test.tmp.clang-tidy-checks-list.rst
# note: command had no output on stdout or stderr
# RUN: at line 2
diff --strip-trailing-cr /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/../../../docs/clang-tidy/checks/list.rst /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/alphabetical-order.test.tmp.clang-tidy-checks-list.rst
# executed command: diff --strip-trailing-cr /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/../../../docs/clang-tidy/checks/list.rst /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/alphabetical-order.test.tmp.clang-tidy-checks-list.rst
# note: command had no output on stdout or stderr
# RUN: at line 4
/usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/../../../clang-tidy/tool/check_alphabetical_order.py -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/alphabetical-order.test.tmp.ReleaseNotes.rst
# executed command: /usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/../../../clang-tidy/tool/check_alphabetical_order.py -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/alphabetical-order.test.tmp.ReleaseNotes.rst
# .---command stderr------------
# | 
# | Entries in 'clang-tools-extra/docs/ReleaseNotes.rst' are not alphabetically sorted.
# | Fix the ordering by applying diff printed below.
# | 
# `-----------------------------
# RUN: at line 5
diff --strip-trailing-cr /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/../../../docs/ReleaseNotes.rst /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/alphabetical-order.test.tmp.ReleaseNotes.rst
# executed command: diff --strip-trailing-cr /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/../../../docs/ReleaseNotes.rst /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/alphabetical-order.test.tmp.ReleaseNotes.rst
# .---command stdout------------
# | *** /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/../../../docs/ReleaseNotes.rst
# | --- /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/alphabetical-order.test.tmp.ReleaseNotes.rst
# | ***************
# | *** 229,234 ****
# | --- 229,310 ----
# |   
# |   Changes in existing checks
# |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
# | + 
# | + - Improved :doc:`bugprone-argument-comment
# | +   <clang-tidy/checks/bugprone/argument-comment>` to also check for C++11
# | +   inherited constructors.
# | + 
# | + - Improved :doc:`bugprone-bad-signal-to-kill-thread
# | +   <clang-tidy/checks/bugprone/bad-signal-to-kill-thread>` check by fixing false
# | +   negatives when the ``SIGTERM`` macro is obtained from a precompiled header.
# | + 
# | + - Improved :doc:`bugprone-casting-through-void
# | +   <clang-tidy/checks/bugprone/casting-through-void>` check by running only on
# | +   C++ files because suggested ``reinterpret_cast`` is not available in pure C.
# | + 
# | + - Improved :doc:`bugprone-derived-method-shadowing-base-method
# | +   <clang-tidy/checks/bugprone/derived-method-shadowing-base-method>` check by
# | +   correctly ignoring function templates.
# | + 
# | + - Improved :doc:`bugprone-exception-escape
# | +   <clang-tidy/checks/bugprone/exception-escape>` check by adding
# | +   `TreatFunctionsWithoutSpecificationAsThrowing` option to support reporting
# | +   for unannotated functions, enabling reporting when no explicit ``throw``
# | +   is seen and allowing separate tuning for known and unknown implementations.
# | + 
# | + - Improved :doc:`bugprone-fold-init-type
# | +   <clang-tidy/checks/bugprone/fold-init-type>` check by detecting precision
# | +   loss in overloads with transparent standard functors (e.g. ``std::plus<>``)
# | +   for ``std::accumulate``, ``std::reduce``, and ``std::inner_product``.
# | + 
# | + - Improved :doc:`bugprone-inc-dec-in-conditions
# | +   <clang-tidy/checks/bugprone/inc-dec-in-conditions>` check by fixing a false
# | +   positive when increment/decrement operators appear inside lambda bodies that
# | +   are part of a condition expression.
# | + 
# | + - Improved :doc:`bugprone-incorrect-enable-if
# | +   <clang-tidy/checks/bugprone/incorrect-enable-if>` check to not
# | +   insert an extraneous ``typename`` on code like
# | +   ``typename std::enable_if<...>``, where there's already a ``typename`` and
# | +   only the ``::type`` at the end is missing.
# | + 
# | + - Improved :doc:`bugprone-macro-parentheses
# | +   <clang-tidy/checks/bugprone/macro-parentheses>` check by printing the macro
# | +   definition in the warning message if the macro is defined on command line.
# | + 
# | + - Improved :doc:`bugprone-narrowing-conversions
# | +   <clang-tidy/checks/bugprone/narrowing-conversions>` check by fixing a false
# | +   positive when converting a ``bool`` to a signed integer type.
# | + 
# | + - Improved :doc:`bugprone-pointer-arithmetic-on-polymorphic-object
# | +   <clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object>` check
# | +   by fixing a false positive when ``operator[]`` is used in a dependent context.
# | + 
# | + - Improved :doc:`bugprone-std-namespace-modification
# | +   <clang-tidy/checks/bugprone/std-namespace-modification>` check by fixing
# | +   false positives when extending the standard library with a specialization of
# | +   user-defined type and by removing detection of the compiler generated ``std``
# | +   namespace extensions.
# | + 
# | + - Improved :doc:`bugprone-string-constructor
# | +   <clang-tidy/checks/bugprone/string-constructor>` check to detect suspicious
# | +   string constructor calls when the string class constructor has a default
# | +   allocator argument.
# | + 
# | + - Improved :doc:`bugprone-throwing-static-initialization
# | +   <clang-tidy/checks/bugprone/throwing-static-initialization>` check by adding
# | +   the `AllowedTypes` option. With this option it is possible to exclude
# | +   static declarations with specific types from the check.
# | + 
# | + - Improved :doc:`bugprone-unchecked-optional-access
# | +   <clang-tidy/checks/bugprone/unchecked-optional-access>` to recognize common
# | +   GoogleTest macros such as ``ASSERT_TRUE`` and ``ASSERT_FALSE``, reducing the
# | +   number of false positives in test code.
# | + 
# | + - Improved :doc:`bugprone-unsafe-functions
# | +   <clang-tidy/checks/bugprone/unsafe-functions>` check by adding the function
# | +   ``std::get_temporary_buffer`` to the default list of unsafe functions. (This
# | +   function is unsafe, useless, deprecated in C++17 and removed in C++20).
# |   
# |   - Improved :doc:`bugprone-use-after-move
# |     <clang-tidy/checks/bugprone/use-after-move>` check to no longer emit a
# | ***************
# | *** 237,318 ****
# |     std::move(b))``). The tuple assignment writes back through the stored
# |     references, which fully reinitializes the captured variables.
# |   
# | - 
# | - - Improved :doc:`bugprone-argument-comment
# | -   <clang-tidy/checks/bugprone/argument-comment>` to also check for C++11
# | -   inherited constructors.
# | - 
# | - - Improved :doc:`bugprone-bad-signal-to-kill-thread
# | -   <clang-tidy/checks/bugprone/bad-signal-to-kill-thread>` check by fixing false
# | -   negatives when the ``SIGTERM`` macro is obtained from a precompiled header.
# | - 
# | - - Improved :doc:`bugprone-casting-through-void
# | -   <clang-tidy/checks/bugprone/casting-through-void>` check by running only on
# | -   C++ files because suggested ``reinterpret_cast`` is not available in pure C.
# | - 
# | - - Improved :doc:`bugprone-derived-method-shadowing-base-method
# | -   <clang-tidy/checks/bugprone/derived-method-shadowing-base-method>` check by
# | -   correctly ignoring function templates.
# | - 
# | - - Improved :doc:`bugprone-exception-escape
# | -   <clang-tidy/checks/bugprone/exception-escape>` check by adding
# | -   `TreatFunctionsWithoutSpecificationAsThrowing` option to support reporting
# | -   for unannotated functions, enabling reporting when no explicit ``throw``
# | -   is seen and allowing separate tuning for known and unknown implementations.
# | - 
# | - - Improved :doc:`bugprone-fold-init-type
# | -   <clang-tidy/checks/bugprone/fold-init-type>` check by detecting precision
# | -   loss in overloads with transparent standard functors (e.g. ``std::plus<>``)
# | -   for ``std::accumulate``, ``std::reduce``, and ``std::inner_product``.
# | - 
# | - - Improved :doc:`bugprone-inc-dec-in-conditions
# | -   <clang-tidy/checks/bugprone/inc-dec-in-conditions>` check by fixing a false
# | -   positive when increment/decrement operators appear inside lambda bodies that
# | -   are part of a condition expression.
# | - 
# | - - Improved :doc:`bugprone-incorrect-enable-if
# | -   <clang-tidy/checks/bugprone/incorrect-enable-if>` check to not
# | -   insert an extraneous ``typename`` on code like
# | -   ``typename std::enable_if<...>``, where there's already a ``typename`` and
# | -   only the ``::type`` at the end is missing.
# | - 
# | - - Improved :doc:`bugprone-macro-parentheses
# | -   <clang-tidy/checks/bugprone/macro-parentheses>` check by printing the macro
# | -   definition in the warning message if the macro is defined on command line.
# | - 
# | - - Improved :doc:`bugprone-narrowing-conversions
# | -   <clang-tidy/checks/bugprone/narrowing-conversions>` check by fixing a false
# | -   positive when converting a ``bool`` to a signed integer type.
# | - 
# | - - Improved :doc:`bugprone-pointer-arithmetic-on-polymorphic-object
# | -   <clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object>` check
# | -   by fixing a false positive when ``operator[]`` is used in a dependent context.
# | - 
# | - - Improved :doc:`bugprone-std-namespace-modification
# | -   <clang-tidy/checks/bugprone/std-namespace-modification>` check by fixing
# | -   false positives when extending the standard library with a specialization of
# | -   user-defined type and by removing detection of the compiler generated ``std``
# | -   namespace extensions.
# | - 
# | - - Improved :doc:`bugprone-string-constructor
# | -   <clang-tidy/checks/bugprone/string-constructor>` check to detect suspicious
# | -   string constructor calls when the string class constructor has a default
# | -   allocator argument.
# | - 
# | - - Improved :doc:`bugprone-throwing-static-initialization
# | -   <clang-tidy/checks/bugprone/throwing-static-initialization>` check by adding
# | -   the `AllowedTypes` option. With this option it is possible to exclude
# | -   static declarations with specific types from the check.
# | - 
# | - - Improved :doc:`bugprone-unchecked-optional-access
# | -   <clang-tidy/checks/bugprone/unchecked-optional-access>` to recognize common
# | -   GoogleTest macros such as ``ASSERT_TRUE`` and ``ASSERT_FALSE``, reducing the
# | -   number of false positives in test code.
# | - 
# | - - Improved :doc:`bugprone-unsafe-functions
# | -   <clang-tidy/checks/bugprone/unsafe-functions>` check by adding the function
# | -   ``std::get_temporary_buffer`` to the default list of unsafe functions. (This
# | -   function is unsafe, useless, deprecated in C++17 and removed in C++20).
# |   
# |   - Improved :doc:`bugprone-use-after-move
# |     <clang-tidy/checks/bugprone/use-after-move>` check:
# | --- 313,318 ----
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/192895


More information about the cfe-commits mailing list