From f7c1b3495aafa12f76dd3de3079bc421698d89c4 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sat, 10 Oct 2026 02:11:49 +0200 Subject: [PATCH] Avoid GCC useless-cast warnings in the integer index tests Signed-off-by: Niels Lohmann --- tests/src/unit-json_view.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/src/unit-json_view.cpp b/tests/src/unit-json_view.cpp index 5d9fc8652..2916e0559 100644 --- a/tests/src/unit-json_view.cpp +++ b/tests/src/unit-json_view.cpp @@ -867,6 +867,8 @@ TEST_CASE("json_view element access and iteration") const json_document d = json_document::parse("[10,20,30]"); const json_view v = d.root(); const json j = v.materialize(); + // (a variable: a cast of a constant to int32_t is a useless cast to GCC) + const std::int32_t int32_index = 1; // (compile-time: no overload is ambiguous) CHECK(v[0].materialize() == 10); CHECK(v[1].materialize() == 20); @@ -882,7 +884,7 @@ TEST_CASE("json_view element access and iteration") CHECK(v[static_cast(2)].materialize() == 30); CHECK(v[std::int8_t(1)].materialize() == 20); CHECK(v[std::int16_t(2)].materialize() == 30); - CHECK(v[std::int32_t(1)].materialize() == 20); + CHECK(v[int32_index].materialize() == 20); CHECK(v[std::int64_t(2)].materialize() == 30); CHECK(v[std::uint32_t(0)].materialize() == 10); CHECK(v[std::uint64_t(1)].materialize() == 20); @@ -897,7 +899,7 @@ TEST_CASE("json_view element access and iteration") CHECK(v.at(2ULL).materialize() == 30); CHECK(v.at(static_cast(1)).materialize() == 20); CHECK(v.at(static_cast(2)).materialize() == 30); - CHECK(v.at(std::int32_t(0)).materialize() == 10); + CHECK(v.at(int32_index - 1).materialize() == 10); CHECK(v.at(std::uint32_t(0)).materialize() == 10); CHECK(v.at(std::int64_t(0)).materialize() == 10); CHECK(v.at(std::uint64_t(1)).materialize() == 20);