diff --git a/src/json.hpp b/src/json.hpp index 0b5e24f0f..00ee8c2cf 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -239,6 +239,13 @@ class basic_json 2 // float } }; + + // discarded values are not comparable + if (lhs == value_t::discarded or rhs == value_t::discarded) + { + return false; + } + return order[static_cast(lhs)] < order[static_cast(rhs)]; } diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c index 96f6e4c13..9146c44f8 100644 --- a/src/json.hpp.re2c +++ b/src/json.hpp.re2c @@ -239,6 +239,13 @@ class basic_json 2 // float } }; + + // discarded values are not comparable + if (lhs == value_t::discarded or rhs == value_t::discarded) + { + return false; + } + return order[static_cast(lhs)] < order[static_cast(rhs)]; }