diff --git a/tests/src/unit-json_view.cpp b/tests/src/unit-json_view.cpp index 3b1878d44..e0a6b6cb8 100644 --- a/tests/src/unit-json_view.cpp +++ b/tests/src/unit-json_view.cpp @@ -861,6 +861,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); @@ -876,7 +878,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); @@ -891,7 +893,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);