diff --git a/.clang-tidy b/.clang-tidy index bf42711fb..0c60e12ef 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -58,7 +58,6 @@ Checks: > modernize-concat-nested-namespaces, modernize-use-using, performance-*, - -performance-noexcept-move-constructor, -performance-no-int-to-ptr, -performance-enum-size, -performance-avoid-endl, diff --git a/CHANGELOG.md b/CHANGELOG.md index 63323a56c..7b8e85b75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ - NodeJS: - CHANGED: Use node-api instead of NAN. [#6452](https://github.com/Project-OSRM/osrm-backend/pull/6452) - Misc: + - FIXED: Fix performance-noexcept-move-constructor clang-tidy warning. [#6931](https://github.com/Project-OSRM/osrm-backend/pull/6933) - FIXED: Fix performance-noexcept-swap clang-tidy warning. [#6931](https://github.com/Project-OSRM/osrm-backend/pull/6931) - CHANGED: Use custom struct instead of std::pair in QueryHeap. [#6921](https://github.com/Project-OSRM/osrm-backend/pull/6921) - CHANGED: Use std::string_view::starts_with instead of boost::starts_with. [#6918](https://github.com/Project-OSRM/osrm-backend/pull/6918) diff --git a/include/server/http/header.hpp b/include/server/http/header.hpp index 35d4fcc13..a6e9da858 100644 --- a/include/server/http/header.hpp +++ b/include/server/http/header.hpp @@ -12,7 +12,7 @@ struct header // explicitly use default copy c'tor as adding move c'tor header &operator=(const header &other) = default; header(std::string name, std::string value) : name(std::move(name)), value(std::move(value)) {} - header(header &&other) : name(std::move(other.name)), value(std::move(other.value)) {} + header(header &&other) noexcept : name(std::move(other.name)), value(std::move(other.value)) {} void clear() { diff --git a/include/util/concurrent_id_map.hpp b/include/util/concurrent_id_map.hpp index ac398725a..594f632e1 100644 --- a/include/util/concurrent_id_map.hpp +++ b/include/util/concurrent_id_map.hpp @@ -26,7 +26,7 @@ struct ConcurrentIDMap mutable UpgradableMutex mutex; ConcurrentIDMap() = default; - ConcurrentIDMap(ConcurrentIDMap &&other) + ConcurrentIDMap(ConcurrentIDMap &&other) noexcept { if (this != &other) { @@ -36,7 +36,7 @@ struct ConcurrentIDMap data = std::move(other.data); } } - ConcurrentIDMap &operator=(ConcurrentIDMap &&other) + ConcurrentIDMap &operator=(ConcurrentIDMap &&other) noexcept { if (this != &other) { diff --git a/include/util/deallocating_vector.hpp b/include/util/deallocating_vector.hpp index f1cb0033d..32a21650d 100644 --- a/include/util/deallocating_vector.hpp +++ b/include/util/deallocating_vector.hpp @@ -204,8 +204,8 @@ template class DeallocatingVector } // moving is fine - DeallocatingVector(DeallocatingVector &&other) { swap(other); } - DeallocatingVector &operator=(DeallocatingVector &&other) + DeallocatingVector(DeallocatingVector &&other) noexcept { swap(other); } + DeallocatingVector &operator=(DeallocatingVector &&other) noexcept { swap(other); return *this; diff --git a/include/util/dynamic_graph.hpp b/include/util/dynamic_graph.hpp index 9efbf1402..ce65fda74 100644 --- a/include/util/dynamic_graph.hpp +++ b/include/util/dynamic_graph.hpp @@ -154,7 +154,7 @@ template class DynamicGraph return *this; } - DynamicGraph(DynamicGraph &&other) + DynamicGraph(DynamicGraph &&other) noexcept { number_of_nodes = other.number_of_nodes; // atomics can't be moved this is why we need an own constructor @@ -164,7 +164,7 @@ template class DynamicGraph edge_list = std::move(other.edge_list); } - DynamicGraph &operator=(DynamicGraph &&other) + DynamicGraph &operator=(DynamicGraph &&other) noexcept { number_of_nodes = other.number_of_nodes; // atomics can't be moved this is why we need an own constructor