 As a note, rebuilding clazy in a PPA the build time tests fail in the same fashion
 No ideas about clazy, but I will upload fixed veusz today.
 @tsimonq2 @mitya57 also same fail seen if I build current debian/ubuntu clazy on KDE Neon with their Qt 5.15.8
 i.e. jammy base
 According to test history, it _is_ related to Qt 5.15.8 somehow.
 Maybe https://code.qt.io/cgit/qt/qtbase.git/commit/?id=747800675044bc1782b9bc9b97cea2cc2ef2c06f is somehow related?
 Reported: https://bugs.kde.org/show_bug.cgi?id=464441
 Thanks!
 Would that imply that the test is defunct, or the test case used is at least? (re @mitya57: According to test history, it _is_ related to Qt 5.15.8 somehow.
 Maybe https://code.qt.io/cgit/qt/qtbase.git/commit/?id=747800675044bc1782b9bc9b97cea2cc2ef2c06f is somehow related?)
 c++ foo is failing me ATM
 I think clazy no longer generates the warning it needs to generate, maybe because it was relying on some QVector implementation detail that changed now. But that's just a hypothesis.
 ```
 # reserve-candidates
 
 
 Finds places that could use a `reserve()` call.
 Whenever you know how many elements a container will hold you should reserve
 space in order to avoid repeated memory allocations.
 
 #### Trivial example missing reserve()
 
     QList<int> ages;
     // list.reserve(people.size());
     for (auto person : people)
         list << person.age();
 
 Example where reserve shouldn't be used:
 
     QList<int> list;
     for (int i = 0; i < 1000; ++i) {
         // reserve() will be called 1000 times, meaning 1000 allocations
         // whilst without a reserve the internal exponential growth algorithm would do a better job
         list.reserve(list.size() + 2);
         for (int j = 0; j < 2; ++j) {
             list << m;
         }
     }
 
 #### Supported containers
 `QVector`, `std::vector`, `QList`, `QSet` and `QVarLengthArray`
 
 #### Pitfalls
 clazy/docs/checks/README-reserve-candidates.md
 building qtbase with that commit reverted to test
 I can concur, that's about as far as I got (re @mitya57: I think clazy no longer generates the warning it needs to generate, maybe because it was relying on some QVector implementation detail that changed now. But that's just a hypothesis.)
 build time test still fails with that reverted in qtbase (re @RikMills: building qtbase with that commit reverted to test)
 FWIW swapping that test to a QList didn't work either
 as usual, not sure any other distros bother to run the tests 🙄
 I figured it out
 https://code.qt.io/cgit/qt/qtbase.git/commit/src/corelib?h=5.15&id=826e076ef53a5809dee7d887b16ed961895049ea
 /src/checks/manuallevel/reserve-candidates.cpp:313
 fix?
 confirming that the fix is to remove the test
 Removing the test doesn't sound right. Can you try replacing `foreach (int i2, d)` with `for (int i2 : d)`?
 Or maybe even better idea. Try this please:
 ```
 --- a/src/checks/manuallevel/reserve-candidates.cpp
 +++ b/src/checks/manuallevel/reserve-candidates.cpp
 @@ -164,7 +164,7 @@ void ReserveCandidates::VisitStmt(clang::Stmt *stm)
      if (!body)
          return;
  
 -    const bool isForeach = clazy::isInMacro(&m_astContext, clazy::getLocStart(stm), "Q_FOREACH");
 +    const bool isForeach = clazy::isInMacro(&m_astContext, clazy::getLocStart(stm), "Q_FOREACH_IMPL");
  
      // If the body is another loop, we have nesting, ignore it now since the inner loops will be visited soon.
      if (isa<DoStmt>(body) || isa<WhileStmt>(body) || (!isForeach && isa<ForStmt>(body)))```
 ack :)
 This works, but for loops are already tested for (re @mitya57: Removing the test doesn't sound right. Can you try replacing foreach (int i2, d) with for (int i2 : d)?)
 This does not work, unfortunately (re @mitya57: Or maybe even better idea. Try this please:
 --- a/src/checks/manuallevel/reserve-candidates.cpp
 +++ b/src/checks/manuallevel/reserve-candidates.cpp
 @@ -164,7 +164,7 @@ void ReserveCandidates::VisitStmt(clang::Stmt *stm)
      if (!body)
          return;
  
 -    const bool isForeach = clazy::isInMacro(&m_astContext, clazy::getLocStart(stm), "Q_FOREACH");
 +    const bool isForeach = clazy::isInMacro(&m_astContext, clazy::getLocStart(stm), "Q_FOREACH_IMPL");
  
      // If the body is another loop, we have nesting, ignore it now since the inner loops will be visited soon.
      if (isa<DoStmt>(body) || isa<WhileStmt>(body) || (!isForeach && isa<ForStmt>(body))))
 Ah, I see
 ```
 void rangeLoop()
 {
     QVector<int> v1, v2;
     for (auto i : v1)
         v2.push_back(i);
 }```
  (re @tsimonq2: This works, but for loops are already tested for)
 OK, then I don't have better ideas, so maybe disabling is the only option. (re @tsimonq2: This does not work, unfortunately)
 tests/reserve-candidates/config.json has `"minimum_qt_version" : 50300` for this test, maybe you can add `"maximum_qt_version" : 51507`.