Explicitly cast the float argument to double when calling SixDigitsToBuffer in str_cat.h PiperOrigin-RevId: 998635352
diff --git a/absl/strings/str_cat.h b/absl/strings/str_cat.h index 3ae1197..11e3bf6 100644 --- a/absl/strings/str_cat.h +++ b/absl/strings/str_cat.h
@@ -382,7 +382,8 @@ &digits_[0])) {} AlphaNum(float f) // NOLINT(runtime/explicit) - : piece_(digits_, numbers_internal::SixDigitsToBuffer(f, digits_)) {} + : piece_(digits_, numbers_internal::SixDigitsToBuffer( + static_cast<double>(f), digits_)) {} AlphaNum(double f) // NOLINT(runtime/explicit) : piece_(digits_, numbers_internal::SixDigitsToBuffer(f, digits_)) {} @@ -517,8 +518,8 @@ std::string result; StringResizeAndOverwrite(result, numbers_internal::kSixDigitsToBufferSize, [f](char* start, size_t buf_size) { - size_t size = - numbers_internal::SixDigitsToBuffer(f, start); + size_t size = numbers_internal::SixDigitsToBuffer( + static_cast<double>(f), start); ABSL_ASSERT(size < buf_size); return size; });