@@ -57,7 +57,7 @@ template <typename T> using int_type_of_v = typename int_type_of<T>::type;
5757 if (!temp.has_value ()) { \
5858 section.has_conv = false ; \
5959 } else { \
60- dst = cpp::bit_cast<int_type_of_v<arg_type>>(temp.value ()); \
60+ dst = static_cast < decltype (dst)>( cpp::bit_cast<int_type_of_v<arg_type>>(temp.value () )); \
6161 } \
6262 }
6363#else
@@ -130,7 +130,7 @@ template <typename ArgProvider> class Parser {
130130 } else if (internal::isdigit (str[cur_pos])) {
131131 auto result = internal::strtointeger<int >(str + cur_pos, 10 );
132132 section.min_width = result.value ;
133- cur_pos = cur_pos + result.parsed_len ;
133+ cur_pos = cur_pos + static_cast < size_t >( result.parsed_len ) ;
134134 }
135135 if (section.min_width < 0 ) {
136136 section.min_width =
@@ -153,7 +153,7 @@ template <typename ArgProvider> class Parser {
153153 } else if (internal::isdigit (str[cur_pos])) {
154154 auto result = internal::strtointeger<int >(str + cur_pos, 10 );
155155 section.precision = result.value ;
156- cur_pos = cur_pos + result.parsed_len ;
156+ cur_pos = cur_pos + static_cast < size_t >( result.parsed_len ) ;
157157 }
158158 }
159159
@@ -356,7 +356,7 @@ template <typename ArgProvider> class Parser {
356356 }
357357 if (internal::isdigit (str[*local_pos])) {
358358 const auto result = internal::strtointeger<int >(str + *local_pos, 10 );
359- *local_pos += result.parsed_len ;
359+ *local_pos += static_cast < size_t >( result.parsed_len ) ;
360360 return {lm, static_cast <size_t >(cpp::max (0 , result.value ))};
361361 }
362362 return {lm, 0 };
@@ -405,10 +405,10 @@ template <typename ArgProvider> class Parser {
405405 LIBC_INLINE size_t parse_index (size_t *local_pos) {
406406 if (internal::isdigit (str[*local_pos])) {
407407 auto result = internal::strtointeger<int >(str + *local_pos, 10 );
408- size_t index = result.value ;
409- if (str[*local_pos + result.parsed_len ] != ' $' )
408+ size_t index = static_cast < size_t >( result.value ) ;
409+ if (str[*local_pos + static_cast < size_t >( result.parsed_len ) ] != ' $' )
410410 return 0 ;
411- *local_pos = 1 + result.parsed_len + *local_pos;
411+ *local_pos = static_cast < size_t >( 1 + result.parsed_len ) + *local_pos;
412412 return index;
413413 }
414414 return 0 ;
0 commit comments