From a84a77bf5094e173be1f6bc6988de58f0d2e64b9 Mon Sep 17 00:00:00 2001 From: Lars Froehlich Date: Mon, 31 Aug 2026 14:23:11 +0200 Subject: [PATCH] Fix warning about possible integer truncation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [why] gcc warns about data loss in an implicit integer conversion: SmallVector.cc:1318:31: warning: conversion from ‘std::vector::size_type’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion] 1318 | (vec.size() == 0) ? 0 : (dist(gen) % vec.size()); [how] Use an explicit static_cast to get to the correct integer size. --- tests/test_SmallVector.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_SmallVector.cc b/tests/test_SmallVector.cc index 6cf05f5..bd1f78a 100644 --- a/tests/test_SmallVector.cc +++ b/tests/test_SmallVector.cc @@ -1313,9 +1313,9 @@ TEST_CASE("SmallVector: insert(ConstIterator, InputIterator, InputIterator)", "[ for (int n = 0; n != 50; ++n) { - unsigned int num_elements = dist(gen) % 10; + unsigned int num_elements = dist(gen) % 10u; unsigned int insert_idx = - (vec.size() == 0) ? 0 : (dist(gen) % vec.size()); + vec.empty() ? 0u : (dist(gen) % static_cast(vec.size())); std::vector new_elements(num_elements); std::generate(new_elements.begin(), new_elements.end(), [&]() { return dist(gen) % 100; });