diff --git a/include/fmt/format.h b/include/fmt/format.h index efe090d0..dc88a984 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -1610,7 +1610,8 @@ template struct int_writer { format_decimal(digits, abs_value, num_digits); basic_memory_buffer buffer; size += prefix_size; - buffer.resize(to_unsigned(size)); + const auto usize = to_unsigned(size); + buffer.resize(usize); basic_string_view s(&sep, sep_size); // Index of a decimal digit with the least significant digit having index 0. int digit_index = 0; @@ -1630,9 +1631,8 @@ template struct int_writer { make_checked(p, s.size())); } if (prefix_size != 0) p[-1] = static_cast('-'); - using iterator = remove_reference_t; auto data = buffer.data(); - out = write_padded(out, specs, size, size, [=](iterator it) { + out = write_padded(out, specs, usize, usize, [=](iterator it) { return copy_str(data, data + size, it); }); }