summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-10-04 14:42:28 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-10-07 15:20:41 +0200
commit0fc0d9118b5e525fa582de0286c8e83bb0da4e16 (patch)
tree23acbc464d5f15ef16432fc9277de3a4a8abcb9d /src
parente5a6474d0b2a41586b1c7ead20f2098c8dc977e2 (diff)
downloadjustbuild-0fc0d9118b5e525fa582de0286c8e83bb0da4e16.tar.gz
Disable misc-no-recursion check
...since we use recursion for trees a lot, but skip this check manually.
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/build_engine/analysed_target/analysed_target.cpp1
-rw-r--r--src/buildtool/build_engine/expression/evaluator.cpp5
-rw-r--r--src/buildtool/build_engine/expression/expression.cpp11
-rw-r--r--src/buildtool/build_engine/expression/target_result.cpp7
-rw-r--r--src/buildtool/build_engine/target_map/result_map.hpp1
-rw-r--r--src/buildtool/build_engine/target_map/target_map.cpp1
-rw-r--r--src/buildtool/common/repository_config.cpp1
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp1
-rw-r--r--src/buildtool/execution_api/bazel_msg/directory_tree.cpp1
-rw-r--r--src/buildtool/execution_api/common/blob_tree.cpp1
-rw-r--r--src/buildtool/execution_api/common/common_api.cpp1
-rw-r--r--src/buildtool/execution_api/git/git_api.hpp3
-rw-r--r--src/buildtool/execution_api/local/local_api.hpp3
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_api.cpp4
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp2
-rw-r--r--src/buildtool/execution_engine/executor/executor.hpp1
-rw-r--r--src/buildtool/file_system/git_tree.cpp1
-rw-r--r--src/buildtool/main/archive.cpp1
-rw-r--r--src/buildtool/main/diagnose.cpp1
-rw-r--r--src/other_tools/just_mr/utils.cpp1
-rw-r--r--src/utils/automata/dfa_minimizer.hpp1
-rw-r--r--src/utils/cpp/json.hpp3
22 files changed, 4 insertions, 48 deletions
diff --git a/src/buildtool/build_engine/analysed_target/analysed_target.cpp b/src/buildtool/build_engine/analysed_target/analysed_target.cpp
index 045add0d..b9a5f559 100644
--- a/src/buildtool/build_engine/analysed_target/analysed_target.cpp
+++ b/src/buildtool/build_engine/analysed_target/analysed_target.cpp
@@ -18,7 +18,6 @@
namespace {
-// NOLINTNEXTLINE(misc-no-recursion)
void CollectNonKnownArtifacts(
ExpressionPtr const& expr,
gsl::not_null<std::vector<ArtifactDescription>*> const& artifacts,
diff --git a/src/buildtool/build_engine/expression/evaluator.cpp b/src/buildtool/build_engine/expression/evaluator.cpp
index ea2f547e..3e129539 100644
--- a/src/buildtool/build_engine/expression/evaluator.cpp
+++ b/src/buildtool/build_engine/expression/evaluator.cpp
@@ -375,7 +375,6 @@ auto Join(ExpressionPtr const& expr, std::string const& sep) -> ExpressionPtr {
}
template <bool kDisjoint = false>
-// NOLINTNEXTLINE(misc-no-recursion)
auto Union(Expression::list_t const& dicts,
std::size_t from,
std::size_t to) -> ExpressionPtr {
@@ -540,7 +539,6 @@ auto ExpandQuasiQuote(const SubExprEvaluator& eval,
ExpressionPtr const& expr,
Configuration const& env) -> ExpressionPtr;
-// NOLINTNEXTLINE(misc-no-recursion)
auto ExpandQuasiQuoteListEntry(const SubExprEvaluator& eval,
ExpressionPtr const& expr,
Configuration const& env) -> ExpressionPtr {
@@ -595,7 +593,6 @@ auto ExpandQuasiQuoteListEntry(const SubExprEvaluator& eval,
return ExpressionPtr{Expression::list_t{expr}};
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto ExpandQuasiQuote(const SubExprEvaluator& eval,
ExpressionPtr const& expr,
Configuration const& env) -> ExpressionPtr {
@@ -1416,7 +1413,6 @@ auto Evaluator::EvaluateExpression(
return ExpressionPtr{nullptr};
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto Evaluator::Evaluate(ExpressionPtr const& expr,
Configuration const& env,
FunctionMapPtr const& functions) -> ExpressionPtr {
@@ -1430,7 +1426,6 @@ auto Evaluator::Evaluate(ExpressionPtr const& expr,
expr->List().cbegin(),
expr->List().cend(),
std::back_inserter(list),
- // NOLINTNEXTLINE(misc-no-recursion)
[&](auto const& e) { return Evaluate(e, env, functions); });
return ExpressionPtr{list};
}
diff --git a/src/buildtool/build_engine/expression/expression.cpp b/src/buildtool/build_engine/expression/expression.cpp
index cbb6a18d..963f20f9 100644
--- a/src/buildtool/build_engine/expression/expression.cpp
+++ b/src/buildtool/build_engine/expression/expression.cpp
@@ -75,7 +75,6 @@ auto Expression::operator[](std::size_t pos) && -> ExpressionPtr {
fmt::format("List pos '{}' is out of bounds.", pos)};
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto Expression::ToJson(Expression::JsonMode mode) const -> nlohmann::json {
if (IsBool()) {
return Bool();
@@ -112,14 +111,12 @@ auto Expression::ToJson(Expression::JsonMode mode) const -> nlohmann::json {
std::transform(list.begin(),
list.end(),
std::back_inserter(json),
- // NOLINTNEXTLINE(misc-no-recursion)
[mode](auto const& e) { return e->ToJson(mode); });
return json;
}
if (IsMap()) {
auto json = nlohmann::json::object();
auto const& map = Value<map_t>()->get();
- // NOLINTNEXTLINE(misc-no-recursion)
std::for_each(map.begin(), map.end(), [&](auto const& p) {
json.emplace(p.first, p.second->ToJson(mode));
});
@@ -131,7 +128,6 @@ auto Expression::ToJson(Expression::JsonMode mode) const -> nlohmann::json {
return nlohmann::json{};
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto Expression::ComputeIsCacheable() const -> bool {
// Must be updated whenever we add a new non-cacheable value
if (IsName()) {
@@ -160,7 +156,6 @@ auto Expression::ComputeIsCacheable() const -> bool {
return true;
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto Expression::ToString() const -> std::string {
return ToJson().dump();
}
@@ -169,17 +164,15 @@ auto Expression::ToString() const -> std::string {
-> std::string {
return AbbreviateJson(ToJson(), len);
}
-// NOLINTNEXTLINE(misc-no-recursion)
+
auto Expression::ToHash() const noexcept -> std::string {
return hash_.SetOnceAndGet([this] { return ComputeHash(); });
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto Expression::IsCacheable() const -> bool {
return is_cachable_.SetOnceAndGet([this] { return ComputeIsCacheable(); });
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto Expression::FromJson(nlohmann::json const& json) noexcept
-> ExpressionPtr {
if (json.is_null()) {
@@ -201,7 +194,6 @@ auto Expression::FromJson(nlohmann::json const& json) noexcept
std::transform(json.begin(),
json.end(),
std::back_inserter(l),
- // NOLINTNEXTLINE(misc-no-recursion)
[](auto const& j) { return FromJson(j); });
return ExpressionPtr{l};
}
@@ -235,7 +227,6 @@ auto Expression::TypeString() const noexcept -> std::string {
return TypeStringForIndex();
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto Expression::ComputeHash() const noexcept -> std::string {
auto hash = std::string{};
diff --git a/src/buildtool/build_engine/expression/target_result.cpp b/src/buildtool/build_engine/expression/target_result.cpp
index 61f5a17f..c95a803f 100644
--- a/src/buildtool/build_engine/expression/target_result.cpp
+++ b/src/buildtool/build_engine/expression/target_result.cpp
@@ -65,7 +65,6 @@ auto SerializeTargetResultWithReplacement(
// If replacements is set, replace any contained
// non-known artifact by known artifact from replacement. Throws runtime_error
// if no replacement is found.
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto SerializeExpression(
gsl::not_null<std::unordered_map<std::string, nlohmann::json>*> const&
nodes,
@@ -178,7 +177,6 @@ auto SerializeTargetResultWithReplacement(
return id;
}
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto DeserializeExpression(
HashFunction::Type hash_type,
nlohmann::json const& entry,
@@ -327,7 +325,6 @@ auto SerializeTargetResultWithReplacement(
// Serialize artifact map to JSON. If replacements is set, replace
// non-known artifacts by known artifacts from replacement. Throws runtime_error
// if no replacement is found.
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto SerializeArtifactMap(
ExpressionPtr const& expr,
std::unordered_map<ArtifactDescription, Artifact::ObjectInfo> const&
@@ -365,7 +362,6 @@ auto SerializeTargetResultWithReplacement(
// Serialize provides map to JSON. If replacements is set, replace
// non-known artifacts by known artifacts from replacement. Throws runtime_error
// if no replacement is found.
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto SerializeProvidesMap(
ExpressionPtr const& expr,
std::unordered_map<ArtifactDescription, Artifact::ObjectInfo> const&
@@ -398,7 +394,6 @@ auto JsonSet(nlohmann::json const& j) -> std::unordered_set<std::string> {
return result;
}
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto DeserializeProvidesMap(HashFunction::Type hash_type,
nlohmann::json const& json)
-> ExpressionPtr {
@@ -415,7 +410,6 @@ auto JsonSet(nlohmann::json const& j) -> std::unordered_set<std::string> {
// Serialize TargetResult to JSON. If replacements is set, replace non-known
// artifacts by known artifacts from replacement. Throws runtime_error if no
// replacement is found.
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto SerializeTargetResultWithReplacement(
TargetResult const& result,
std::unordered_map<ArtifactDescription, Artifact::ObjectInfo> const&
@@ -446,7 +440,6 @@ auto TargetResult::ReplaceNonKnownAndToJson(
return std::nullopt;
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto TargetResult::FromJson(HashFunction::Type hash_type,
nlohmann::json const& json) noexcept
-> std::optional<TargetResult> {
diff --git a/src/buildtool/build_engine/target_map/result_map.hpp b/src/buildtool/build_engine/target_map/result_map.hpp
index c0babcb2..3e144628 100644
--- a/src/buildtool/build_engine/target_map/result_map.hpp
+++ b/src/buildtool/build_engine/target_map/result_map.hpp
@@ -384,7 +384,6 @@ class ResultTargetMap {
std::vector<std::size_t> num_blobs_{std::vector<std::size_t>(width_)};
std::vector<std::size_t> num_trees_{std::vector<std::size_t>(width_)};
- // NOLINTNEXTLINE(misc-no-recursion)
constexpr static auto ComputeWidth(std::size_t jobs) -> std::size_t {
if (jobs <= 0) {
// Non-positive indicates to use the default value
diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp
index 9b0d62a1..5dd9b7cf 100644
--- a/src/buildtool/build_engine/target_map/target_map.cpp
+++ b/src/buildtool/build_engine/target_map/target_map.cpp
@@ -238,7 +238,6 @@ auto NameTransitionedDeps(
// Check if an object is contained an expression; to avoid tree-unfolding
// the expression, we need to cache the values already computed.
-// NOLINTNEXTLINE(misc-no-recursion)
auto ExpressionContainsObject(std::unordered_map<ExpressionPtr, bool>* map,
const ExpressionPtr& object,
const ExpressionPtr& exp) {
diff --git a/src/buildtool/common/repository_config.cpp b/src/buildtool/common/repository_config.cpp
index 804bec2e..78f7b8a4 100644
--- a/src/buildtool/common/repository_config.cpp
+++ b/src/buildtool/common/repository_config.cpp
@@ -111,7 +111,6 @@ auto RepositoryConfig::BuildGraphForRepository(std::string const& repo,
// unique id if it and all its dependencies are content-fixed or return
// std::nullopt otherwise. Recursion immediately aborts on traversing the first
// non-content-fixed repository.
-// NOLINTNEXTLINE(misc-no-recursion)
auto RepositoryConfig::AddToGraphAndGetId(
gsl::not_null<nlohmann::json*> const& graph,
gsl::not_null<int*> const& id_counter,
diff --git a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
index 5bed3dfc..9eaecd7a 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
@@ -232,7 +232,6 @@ struct DirectoryNodeBundle final {
}
/// \brief Convert `DirectoryTree` to `DirectoryNodeBundle`.
-/// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto DirectoryTreeToBundle(
std::string const& root_name,
DirectoryTreePtr const& tree,
diff --git a/src/buildtool/execution_api/bazel_msg/directory_tree.cpp b/src/buildtool/execution_api/bazel_msg/directory_tree.cpp
index 5b3b20e2..c7ddfdef 100644
--- a/src/buildtool/execution_api/bazel_msg/directory_tree.cpp
+++ b/src/buildtool/execution_api/bazel_msg/directory_tree.cpp
@@ -51,7 +51,6 @@ auto DirectoryTree::FromNamedArtifacts(
return dir_tree;
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto DirectoryTree::AddArtifact(std::filesystem::path::iterator* begin,
std::filesystem::path::iterator const& end,
Artifact const* artifact) -> bool {
diff --git a/src/buildtool/execution_api/common/blob_tree.cpp b/src/buildtool/execution_api/common/blob_tree.cpp
index daf2a87c..6bb503b7 100644
--- a/src/buildtool/execution_api/common/blob_tree.cpp
+++ b/src/buildtool/execution_api/common/blob_tree.cpp
@@ -25,7 +25,6 @@
#include "src/buildtool/file_system/object_type.hpp"
#include "src/utils/cpp/hex_string.hpp"
-/// NOLINTNEXTLINE(misc-no-recursion)
auto BlobTree::FromDirectoryTree(DirectoryTreePtr const& tree,
std::filesystem::path const& parent) noexcept
-> std::optional<BlobTreePtr> {
diff --git a/src/buildtool/execution_api/common/common_api.cpp b/src/buildtool/execution_api/common/common_api.cpp
index 319be597..c21d14a4 100644
--- a/src/buildtool/execution_api/common/common_api.cpp
+++ b/src/buildtool/execution_api/common/common_api.cpp
@@ -81,7 +81,6 @@ auto CommonRetrieveToFds(
return true;
}
-/// NOLINTNEXTLINE(misc-no-recursion)
auto CommonUploadBlobTree(BlobTreePtr const& blob_tree,
IExecutionApi const& api) noexcept -> bool {
// Create digest list from blobs for batch availability check.
diff --git a/src/buildtool/execution_api/git/git_api.hpp b/src/buildtool/execution_api/git/git_api.hpp
index 1c7edca0..aab488b3 100644
--- a/src/buildtool/execution_api/git/git_api.hpp
+++ b/src/buildtool/execution_api/git/git_api.hpp
@@ -53,7 +53,7 @@ class GitApi final : public IExecutionApi {
return nullptr;
}
- // NOLINTNEXTLINE(misc-no-recursion,google-default-arguments)
+ // NOLINTNEXTLINE(google-default-arguments)
[[nodiscard]] auto RetrieveToPaths(
std::vector<Artifact::ObjectInfo> const& artifacts_info,
std::vector<std::filesystem::path> const& output_paths,
@@ -172,7 +172,6 @@ class GitApi final : public IExecutionApi {
return true;
}
- // NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto RetrieveToCas(
std::vector<Artifact::ObjectInfo> const& artifacts_info,
IExecutionApi const& api) const noexcept -> bool override {
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp
index 7ba26b3d..2302cb5c 100644
--- a/src/buildtool/execution_api/local/local_api.hpp
+++ b/src/buildtool/execution_api/local/local_api.hpp
@@ -79,7 +79,7 @@ class LocalApi final : public IExecutionApi {
properties}};
}
- // NOLINTNEXTLINE(misc-no-recursion,google-default-arguments)
+ // NOLINTNEXTLINE(google-default-arguments)
[[nodiscard]] auto RetrieveToPaths(
std::vector<Artifact::ObjectInfo> const& artifacts_info,
std::vector<std::filesystem::path> const& output_paths,
@@ -154,7 +154,6 @@ class LocalApi final : public IExecutionApi {
});
}
- // NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto RetrieveToCas(
std::vector<Artifact::ObjectInfo> const& artifacts_info,
IExecutionApi const& api) const noexcept -> bool final {
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
index 1b2933af..c9206d1b 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
@@ -230,7 +230,7 @@ auto BazelApi::CreateAction(
properties}};
}
-// NOLINTNEXTLINE(misc-no-recursion, google-default-arguments)
+// NOLINTNEXTLINE(google-default-arguments)
[[nodiscard]] auto BazelApi::RetrieveToPaths(
std::vector<Artifact::ObjectInfo> const& artifacts_info,
std::vector<std::filesystem::path> const& output_paths,
@@ -323,7 +323,6 @@ auto BazelApi::CreateAction(
);
}
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto BazelApi::RetrieveToCas(
std::vector<Artifact::ObjectInfo> const& artifacts_info,
IExecutionApi const& api) const noexcept -> bool {
@@ -382,7 +381,6 @@ auto BazelApi::CreateAction(
artifacts_info, api, jobs, use_blob_splitting, &done);
}
-/// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto BazelApi::ParallelRetrieveToCasWithCache(
std::vector<Artifact::ObjectInfo> const& all_artifacts_info,
IExecutionApi const& api,
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
index 91498b22..e4ce1ce0 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
@@ -263,7 +263,6 @@ auto BazelCasClient::BatchReadBlobs(
return result;
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto BazelCasClient::GetTree(std::string const& instance_name,
bazel_re::Digest const& root_digest,
std::int32_t page_size,
@@ -484,7 +483,6 @@ auto BazelCasClient::FindMissingBlobs(std::string const& instance_name,
return result;
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto BazelCasClient::BatchUpdateBlobs(
std::string const& instance_name,
std::vector<gsl::not_null<BazelBlob const*>>::const_iterator const& begin,
diff --git a/src/buildtool/execution_engine/executor/executor.hpp b/src/buildtool/execution_engine/executor/executor.hpp
index a25958b2..63ab96ba 100644
--- a/src/buildtool/execution_engine/executor/executor.hpp
+++ b/src/buildtool/execution_engine/executor/executor.hpp
@@ -271,7 +271,6 @@ class ExecutorImpl {
/// \param[in] api The remote execution API of the CAS.
/// \param[in] tree The git tree to be uploaded.
/// \returns True if the upload was successful, False in case of any error.
- // NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] static auto VerifyOrUploadTree(IExecutionApi const& api,
GitTree const& tree) noexcept
-> bool {
diff --git a/src/buildtool/file_system/git_tree.cpp b/src/buildtool/file_system/git_tree.cpp
index ad7a1c5b..1f916dc1 100644
--- a/src/buildtool/file_system/git_tree.cpp
+++ b/src/buildtool/file_system/git_tree.cpp
@@ -36,7 +36,6 @@ namespace {
return (normalized / "").parent_path(); // strip trailing slash
}
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] auto LookupEntryPyPath(
GitTree const& tree,
std::filesystem::path::const_iterator it,
diff --git a/src/buildtool/main/archive.cpp b/src/buildtool/main/archive.cpp
index 13d377ca..e49da224 100644
--- a/src/buildtool/main/archive.cpp
+++ b/src/buildtool/main/archive.cpp
@@ -51,7 +51,6 @@ void archive_entry_cleanup(archive_entry* entry) {
}
}
-// NOLINTNEXTLINE(misc-no-recursion)
auto add_to_archive(HashFunction::Type hash_type,
archive* archive,
IExecutionApi const& api,
diff --git a/src/buildtool/main/diagnose.cpp b/src/buildtool/main/diagnose.cpp
index 49aefc86..9171869e 100644
--- a/src/buildtool/main/diagnose.cpp
+++ b/src/buildtool/main/diagnose.cpp
@@ -215,7 +215,6 @@ auto DumpExpressionToMap(gsl::not_null<nlohmann::json*> const& map,
return false;
}
-// NOLINTNEXTLINE(misc-no-recursion)
void DumpNodesInExpressionToMap(gsl::not_null<nlohmann::json*> const& map,
ExpressionPtr const& expr) {
if (expr->IsNode()) {
diff --git a/src/other_tools/just_mr/utils.cpp b/src/other_tools/just_mr/utils.cpp
index 9700b824..e49da9d8 100644
--- a/src/other_tools/just_mr/utils.cpp
+++ b/src/other_tools/just_mr/utils.cpp
@@ -19,7 +19,6 @@
namespace JustMR::Utils {
-// NOLINTNEXTLINE(misc-no-recursion)
auto ResolveRepo(ExpressionPtr const& repo_desc,
ExpressionPtr const& repos,
gsl::not_null<std::unordered_set<std::string>*> const& seen)
diff --git a/src/utils/automata/dfa_minimizer.hpp b/src/utils/automata/dfa_minimizer.hpp
index 5017b635..d536bd8b 100644
--- a/src/utils/automata/dfa_minimizer.hpp
+++ b/src/utils/automata/dfa_minimizer.hpp
@@ -196,7 +196,6 @@ class DFAMinimizer {
}
// Mark pair as distinguishable and recursively mark all parents.
- // NOLINTNEXTLINE(misc-no-recursion)
static void MarkPairValue(gsl::not_null<StatePairValue*> const& data) {
data->marked = true;
for (auto* parent : data->parents) {
diff --git a/src/utils/cpp/json.hpp b/src/utils/cpp/json.hpp
index 1fe4df3f..589a5884 100644
--- a/src/utils/cpp/json.hpp
+++ b/src/utils/cpp/json.hpp
@@ -50,7 +50,6 @@ auto ExtractValueAs(
namespace detail {
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] static inline auto IndentListsOnlyUntilDepth(
nlohmann::json const& json,
std::string const& indent,
@@ -89,7 +88,6 @@ namespace detail {
return json.dump();
}
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] static inline auto IndentOnlyUntilDepth(
nlohmann::json const& json,
std::string const& indent,
@@ -164,7 +162,6 @@ namespace detail {
}
// \brief Dump json, replacing subexpressions at the given depths by "*".
-// NOLINTNEXTLINE(misc-no-recursion)
[[nodiscard]] static inline auto TruncateJson(nlohmann::json const& json,
std::size_t depth)
-> std::string {