argparse
argparse copied to clipboard
Implicit conversion changes signedness warnings
My project has -Wsign-conversion turned on and it triggers some warnings in argparse:
/libs/argparse/include/argparse/argparse.hpp:626:26: warning: implicit conversion changes signedness: 'long' to 'std::__1::basic_string_view::size_type' (aka 'unsigned long') [-Wsign-conversion]
return s.substr(it - begin(s));
~~~~~~ ~~~^~~~~~~~~~
/libs/argparse/include/argparse/argparse.hpp:953:22: warning: implicit conversion changes signedness: 'size_t' (aka 'unsigned long') to 'std::__1::streamsize' (aka 'long') [-Wsign-conversion]
stream.width(tLongestArgumentLength);
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~
/libs/argparse/include/argparse/argparse.hpp:962:22: warning: implicit conversion changes signedness: 'size_t' (aka 'unsigned long') to 'std::__1::streamsize' (aka 'long') [-Wsign-conversion]
stream.width(tLongestArgumentLength);
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~
/libs/argparse/include/argparse/argparse.hpp:442:32: warning: implicit conversion changes signedness: 'std::__1::optional<unsigned long>::value_type' (aka 'unsigned long') to 'typename
iterator_traits<__wrap_iter<const basic_string<char> *> >::difference_type' (aka 'long') [-Wsign-conversion]
end = std::next(start, *expected);
~~~ ^~~~~~~~~
clang version 11.0.0