AI review of 2026-10-09_14-08-07-fc4b65a8e333-results.txt PR: #8910 https://github.com/cppcheck-opensource/cppcheck/pull/8910 Tested: fc4b65a8e33398e3aae28fceec2e902e686aa2d6 Merge base: fa6c1f1327057cb8ad4764df236daf6d3c70e359 Reviewed: 2026-10-10 06:27:54 UTC Model: claude-opus-5-5 (effort high) Results: 8 reviewed of 8 in the report Verdicts: 8 improvement Tokens: 18238 input, 19014 cache read, 6338 cache write, 1313 output The verdicts are written by AI and can be wrong. ---- 1 / 8 ---- Verdict: IMPROVEMENT (high confidence) Package: https://ftp.debian.org/debian/pool/main/a/aoflagger/aoflagger_3.5.1.orig.tar.gz Result: main aoflagger-v3.5.1/external/npy.hpp:104:17: warning: Member variable 'header_t::dtype' has no initializer. [uninitMemberVarNoCtor] Explanation: header_t has only const members: dtype_t (a struct with const char/const unsigned members), const bool, and a const vector. The const bool fortran_order has no default initializer, so header_t's implicit default constructor is deleted. dtype_t's own const scalar members also make it non-default-constructible. Every header_t object must therefore be aggregate-initialized with all members set. The warning that 'dtype' has no initializer was a false positive, and the PR correctly removes it. ---- 2 / 8 ---- Verdict: IMPROVEMENT (high confidence) Package: https://ftp.debian.org/debian/pool/main/a/aoflagger/aoflagger_3.5.1.orig.tar.gz Result: main aoflagger-v3.5.1/external/npy.hpp:105:14: warning: Member variable 'header_t::fortran_order' has no initializer. [uninitMemberVarNoCtor] Explanation: header_t has only const members: 'const bool fortran_order', 'const dtype_t dtype' and 'const std::vector shape', with no default initializers. The const scalar member 'fortran_order' deletes the implicit default constructor. So header_t can only be created by aggregate initialization, which must supply a value for fortran_order. Warning that it 'has no initializer' is therefore a false positive, and the PR correctly removes it. ---- 3 / 8 ---- Verdict: IMPROVEMENT (high confidence) Package: https://ftp.debian.org/debian/pool/main/f/filezilla/filezilla_3.71.0.orig.tar.xz Result: main filezilla-3.71.0/src/engine/server.cpp:10:23: warning: Member variable 't_protocolInfo::protocol' has no initializer. [uninitMemberVarNoCtor] Explanation: t_protocolInfo has const non-class members ('ServerProtocol const protocol', 'bool const translateable', 'char const* const name'). Their presence deletes the implicit default constructor, so every instance must be aggregate-initialized, as protocolInfos does. In main the warning on 'protocol' was a false positive. It is also odd to tell users to add an initializer to a const member that is always set by aggregate init. Removing it is correct. ---- 4 / 8 ---- Verdict: IMPROVEMENT (high confidence) Package: https://ftp.debian.org/debian/pool/main/f/filezilla/filezilla_3.71.0.orig.tar.xz Result: main filezilla-3.71.0/src/engine/server.cpp:12:7: warning: Member variable 't_protocolInfo::alwaysShowPrefix' has no initializer. [uninitMemberVarNoCtor] Explanation: t_protocolInfo has const non-class members (ServerProtocol const protocol, bool const translateable, char const* const name). Because of them its implicit default constructor is deleted, so the struct can only be created by aggregate initialization, as in protocolInfos, which sets every member. The warning that 'alwaysShowPrefix' has no initializer was therefore a false positive, and the PR correctly removes it. ---- 5 / 8 ---- Verdict: IMPROVEMENT (high confidence) Package: https://ftp.debian.org/debian/pool/main/f/filezilla/filezilla_3.71.0.orig.tar.xz Result: main filezilla-3.71.0/src/engine/server.cpp:13:7: warning: Member variable 't_protocolInfo::parse_from_prefix' has no initializer. [uninitMemberVarNoCtor] Explanation: t_protocolInfo has const non-class members (`ServerProtocol const protocol`, `bool const translateable`, `char const* const name`), so its implicit default constructor is deleted. Every instance must be aggregate-initialized, as protocolInfos does with full initializer lists. A non-const `bool parse_from_prefix` therefore can never be left uninitialized by a default constructor, and the uninitMemberVarNoCtor warning was a false positive. The PR removes it correctly. ---- 6 / 8 ---- Verdict: IMPROVEMENT (high confidence) Package: https://ftp.debian.org/debian/pool/main/f/filezilla/filezilla_3.71.0.orig.tar.xz Result: main filezilla-3.71.0/src/engine/server.cpp:14:15: warning: Member variable 't_protocolInfo::defaultPort' has no initializer. [uninitMemberVarNoCtor] Explanation: t_protocolInfo has const non-class members (ServerProtocol const protocol, bool const translateable, char const* const name). Because of them its implicit default constructor is deleted, so every object has to be aggregate-initialized, as protocolInfos does with every field. 'defaultPort' therefore can never be left uninitialized, and the removed uninitMemberVarNoCtor warning was a false positive. ---- 7 / 8 ---- Verdict: IMPROVEMENT (high confidence) Package: https://ftp.debian.org/debian/pool/main/f/filezilla/filezilla_3.71.0.orig.tar.xz Result: main filezilla-3.71.0/src/engine/server.cpp:15:13: warning: Member variable 't_protocolInfo::translateable' has no initializer. [uninitMemberVarNoCtor] Explanation: t_protocolInfo has const non-class members such as `bool const translateable` and `char const* const name`, and none of them has a default initializer. That makes the implicit default constructor deleted, so every instance must be aggregate-initialized with all members, as the protocolInfos array does. The 'no initializer' warning for translateable was therefore a false positive, and the PR correctly removes it. ---- 8 / 8 ---- Verdict: IMPROVEMENT (high confidence) Package: https://ftp.debian.org/debian/pool/main/f/filezilla/filezilla_3.71.0.orig.tar.xz Result: main filezilla-3.71.0/src/engine/server.cpp:16:20: warning: Member variable 't_protocolInfo::name' has no initializer. [uninitMemberVarNoCtor] Explanation: t_protocolInfo has const non-class members (`bool const translateable`, `char const* const name`, and possibly the enum `protocol`) with no default initializers. That makes its implicit default constructor deleted, so every instance has to be aggregate-initialized with all members, as protocolInfos does. The uninitMemberVarNoCtor warning on 'name' was a false positive, and the PR correctly removes it.