Correct lexical_cast for long double implicit conversion

This commit is contained in:
Gregory A Lundberg 2017-06-19 22:18:15 -05:00
parent d30b6f6438
commit 23e972cba8

View file

@ -352,7 +352,7 @@ struct lexical_caster<
try {
long double res = std::stold(value);
if(std::numeric_limits<To>::lowest() <= res && std::numeric_limits<To>::max() >= res) {
if((static_cast<long double>(std::numeric_limits<To>::lowest()) <= res) && (static_cast<long double>(std::numeric_limits<To>::max()) >= res)) {
return static_cast<To>(res);
}
} catch(std::invalid_argument&) {