diff --git a/include/magic_enum.hpp b/include/magic_enum.hpp index 53e01c0..79f4455 100644 --- a/include/magic_enum.hpp +++ b/include/magic_enum.hpp @@ -69,9 +69,11 @@ # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wunknown-warning-option" # pragma clang diagnostic ignored "-Wenum-constexpr-conversion" +# pragma clang diagnostic ignored "-Wuseless-cast" // suppresses 'static_cast('\0')' for char_type = char (common on Linux). #elif defined(__GNUC__) # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Wmaybe-uninitialized" // May be used uninitialized 'return {};'. +# pragma GCC diagnostic ignored "-Wuseless-cast" // suppresses 'static_cast('\0')' for char_type = char (common on Linux). #elif defined(_MSC_VER) # pragma warning(push) # pragma warning(disable : 26495) // Variable 'static_str::chars_' is uninitialized. diff --git a/include/magic_enum_utility.hpp b/include/magic_enum_utility.hpp index 42f0ec1..20dda97 100644 --- a/include/magic_enum_utility.hpp +++ b/include/magic_enum_utility.hpp @@ -84,7 +84,7 @@ template > if (const auto i = enum_index(value)) { const std::ptrdiff_t index = (static_cast(*i) + n); if (index >= 0 && index < count) { - return enum_value(index); + return enum_value(static_cast(index)); } } return {}; @@ -98,7 +98,7 @@ template > if (const auto i = enum_index(value)) { const std::ptrdiff_t index = ((((static_cast(*i) + n) % count) + count) % count); if (index >= 0 && index < count) { - return enum_value(index); + return enum_value(static_cast(index)); } } return MAGIC_ENUM_ASSERT(false), value; @@ -112,7 +112,7 @@ template > if (const auto i = enum_index(value)) { const std::ptrdiff_t index = (static_cast(*i) - n); if (index >= 0 && index < count) { - return enum_value(index); + return enum_value(static_cast(index)); } } return {}; @@ -126,7 +126,7 @@ template > if (const auto i = enum_index(value)) { const std::ptrdiff_t index = ((((static_cast(*i) - n) % count) + count) % count); if (index >= 0 && index < count) { - return enum_value(index); + return enum_value(static_cast(index)); } } return MAGIC_ENUM_ASSERT(false), value;