Commit c7695756 authored by Victor Zverovich's avatar Victor Zverovich

FixedEnum -> StrongEnum and make it a regression test

parent 200ee6f1
...@@ -825,7 +825,8 @@ template <typename Context> struct arg_mapper { ...@@ -825,7 +825,8 @@ template <typename Context> struct arg_mapper {
FMT_ENABLE_IF(std::is_enum<T>::value && FMT_ENABLE_IF(std::is_enum<T>::value &&
!has_formatter<T, Context>::value && !has_formatter<T, Context>::value &&
!has_fallback_formatter<T, Context>::value)> !has_fallback_formatter<T, Context>::value)>
FMT_CONSTEXPR auto map(const T& val) -> decltype(map(static_cast<typename std::underlying_type<T>::type>(val))) { FMT_CONSTEXPR auto map(const T& val) -> decltype(
map(static_cast<typename std::underlying_type<T>::type>(val))) {
return map(static_cast<typename std::underlying_type<T>::type>(val)); return map(static_cast<typename std::underlying_type<T>::type>(val));
} }
template <typename T, template <typename T,
......
...@@ -1906,9 +1906,11 @@ TEST(FormatTest, FormatterNotSpecialized) { ...@@ -1906,9 +1906,11 @@ TEST(FormatTest, FormatterNotSpecialized) {
} }
#if FMT_HAS_FEATURE(cxx_strong_enums) #if FMT_HAS_FEATURE(cxx_strong_enums)
enum TestFixedEnum : short { B = 1 }; enum big_enum : unsigned long long { big_enum_value = 5000000000ULL };
TEST(FormatTest, FixedEnum) { EXPECT_EQ("1", fmt::format("{}", B)); } TEST(FormatTest, StrongEnum) {
EXPECT_EQ("5000000000", fmt::format("{}", big_enum_value));
}
#endif #endif
using buffer_range = fmt::buffer_range<char>; using buffer_range = fmt::buffer_range<char>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment