mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-05-31 00:05:13 +02:00
Merge #20530: lint, refactor: Update cppcheck linter to c++17 and improve explicit usage
1e62350ca2refactor: Improve use of explicit keyword (Fabian Jahr)c502a6dbfblint: Use c++17 std in cppcheck linter (Fabian Jahr) Pull request description: I found the `extended-lint-cppcheck` linter still uses `std=c++11` when reviewing #20471. The only difference in the output after this change is one line is missing: ``` src/script/descriptor.cpp:159:5: warning: Struct 'PubkeyProvider' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ``` After some digging, I am still not sure why this one is ignored with c++17 when 40 other`noExplicitConstructor` warnings were still appearing. In the second commit, I fix these warnings, adding `explicit` where appropriate and adding fixes to ignore otherwise. ACKs for top commit: practicalswift: cr ACK1e62350ca2: patch looks correct! MarcoFalke: review ACK1e62350ca2Tree-SHA512: dff7b324429a57160e217cf38d9ddbb6e70c6cb3d3e3e0bd4013d88e07afc2292c3df94d0acf7122e9d486322821682ecf15c8f2724a78667764c05d47f89a12
This commit is contained in:
@@ -24,7 +24,7 @@ class FuzzedSignatureChecker : public BaseSignatureChecker
|
||||
FuzzedDataProvider& m_fuzzed_data_provider;
|
||||
|
||||
public:
|
||||
FuzzedSignatureChecker(FuzzedDataProvider& fuzzed_data_provider) : m_fuzzed_data_provider(fuzzed_data_provider)
|
||||
explicit FuzzedSignatureChecker(FuzzedDataProvider& fuzzed_data_provider) : m_fuzzed_data_provider(fuzzed_data_provider)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ class DebugLogHelper
|
||||
void check_found();
|
||||
|
||||
public:
|
||||
DebugLogHelper(std::string message, MatchFn match = [](const std::string*){ return true; });
|
||||
explicit DebugLogHelper(std::string message, MatchFn match = [](const std::string*){ return true; });
|
||||
~DebugLogHelper() { check_found(); }
|
||||
};
|
||||
|
||||
|
||||
@@ -231,7 +231,7 @@ public:
|
||||
Optional<std::vector<std::string>> list_value;
|
||||
const char* error = nullptr;
|
||||
|
||||
Expect(util::SettingsValue s) : setting(std::move(s)) {}
|
||||
explicit Expect(util::SettingsValue s) : setting(std::move(s)) {}
|
||||
Expect& DefaultString() { default_string = true; return *this; }
|
||||
Expect& DefaultInt() { default_int = true; return *this; }
|
||||
Expect& DefaultBool() { default_bool = true; return *this; }
|
||||
|
||||
Reference in New Issue
Block a user