diff --git a/include/nlohmann/detail/output/serializer.hpp b/include/nlohmann/detail/output/serializer.hpp index d598ffe2..6cbabc4a 100644 --- a/include/nlohmann/detail/output/serializer.hpp +++ b/include/nlohmann/detail/output/serializer.hpp @@ -862,7 +862,7 @@ class serializer : (0xFFu >> type) & (byte); std::size_t index = 256u + static_cast(state) * 16u + static_cast(type); - assert(0 <= index and index < 400); + assert(index < 400); state = utf8d[index]; return state; } diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index 99e965c0..15d613e1 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -890,9 +890,9 @@ class basic_json struct internal_binary_t : public BinaryType { using BinaryType::BinaryType; - internal_binary_t() : BinaryType() {} - internal_binary_t(BinaryType const& bint) : BinaryType(bint) {} - internal_binary_t(BinaryType&& bint) : BinaryType(std::move(bint)) {} + internal_binary_t() noexcept(noexcept(BinaryType())) : BinaryType() {} + internal_binary_t(BinaryType const& bint) noexcept(noexcept(BinaryType(bint))) : BinaryType(bint) {} + internal_binary_t(BinaryType&& bint) noexcept(noexcept(BinaryType(std::move(bint)))) : BinaryType(std::move(bint)) {} // TOOD: If minimum C++ version is ever bumped to C++17, this field // deserves to be a std::optional @@ -6678,7 +6678,6 @@ class basic_json input_format_t format = input_format_t::json, const bool strict = true) { - assert(sax); return format == input_format_t::json ? parser(std::move(i)).sax_parse(sax, strict) : detail::binary_reader(std::move(i)).sax_parse(format, sax, strict); diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 1b7190a1..6cf48c7a 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -15495,7 +15495,7 @@ class serializer : (0xFFu >> type) & (byte); std::size_t index = 256u + static_cast(state) * 16u + static_cast(type); - assert(0 <= index and index < 400); + assert(index < 400); state = utf8d[index]; return state; } @@ -16377,9 +16377,9 @@ class basic_json struct internal_binary_t : public BinaryType { using BinaryType::BinaryType; - internal_binary_t() : BinaryType() {} - internal_binary_t(BinaryType const& bint) : BinaryType(bint) {} - internal_binary_t(BinaryType&& bint) : BinaryType(std::move(bint)) {} + internal_binary_t() noexcept(noexcept(BinaryType())) : BinaryType() {} + internal_binary_t(BinaryType const& bint) noexcept(noexcept(BinaryType(bint))) : BinaryType(bint) {} + internal_binary_t(BinaryType&& bint) noexcept(noexcept(BinaryType(std::move(bint)))) : BinaryType(std::move(bint)) {} // TOOD: If minimum C++ version is ever bumped to C++17, this field // deserves to be a std::optional @@ -22165,7 +22165,6 @@ class basic_json input_format_t format = input_format_t::json, const bool strict = true) { - assert(sax); return format == input_format_t::json ? parser(std::move(i)).sax_parse(sax, strict) : detail::binary_reader(std::move(i)).sax_parse(format, sax, strict); diff --git a/test/src/unit-allocator.cpp b/test/src/unit-allocator.cpp index 803d5865..570d0989 100644 --- a/test/src/unit-allocator.cpp +++ b/test/src/unit-allocator.cpp @@ -272,8 +272,8 @@ TEST_CASE("bad my_allocator::construct") double, allocator_no_forward>; - bad_alloc_json json; - json["test"] = bad_alloc_json::array_t(); - json["test"].push_back("should not leak"); + bad_alloc_json j; + j["test"] = bad_alloc_json::array_t(); + j["test"].push_back("should not leak"); } }