diff --git a/include/magic_enum.hpp b/include/magic_enum.hpp index c38b7e0..84cd1f3 100644 --- a/include/magic_enum.hpp +++ b/include/magic_enum.hpp @@ -56,7 +56,7 @@ namespace detail { template > [[nodiscard]] constexpr int min_impl() { static_assert(std::is_enum_v, "magic_enum::detail::min_impl requires enum type."); - constexpr int min = (enum_range::min > std::numeric_limits::min()) ? enum_range::min : std::numeric_limits::min(); + constexpr int min = enum_range::min > (std::numeric_limits::min)() ? enum_range::min : (std::numeric_limits::min)(); return min; } @@ -64,7 +64,8 @@ template > template > [[nodiscard]] constexpr decltype(auto) range_impl() { static_assert(std::is_enum_v, "magic_enum::detail::range_impl requires enum type."); - constexpr int max = (enum_range::max < std::numeric_limits::max()) ? enum_range::max : std::numeric_limits::max(); + static_assert(enum_range::max > enum_range::min, "magic_enum::enum_range requires max > min."); + constexpr int max = enum_range::max < (std::numeric_limits::max)() ? enum_range::max : (std::numeric_limits::max)(); constexpr auto range = std::make_integer_sequence() + 1>{}; return range;