diff --git a/include/fmt/ranges.h b/include/fmt/ranges.h index 49953fd7..4f65eb4b 100644 --- a/include/fmt/ranges.h +++ b/include/fmt/ranges.h @@ -219,9 +219,8 @@ template class is_tuple_formattable_ { static decltype(check2( index_sequence{}, integer_sequence< - bool, (fmt::is_formattable::type, - C>::value)...>{})) - check(index_sequence); + bool, (is_formattable::type, + C>::value)...>{})) check(index_sequence); public: static constexpr const bool value = diff --git a/test/ranges-test.cc b/test/ranges-test.cc index ce6dc512..468e4f40 100644 --- a/test/ranges-test.cc +++ b/test/ranges-test.cc @@ -85,23 +85,22 @@ TEST(ranges_test, format_pair) { EXPECT_EQ(fmt::format("{}", p), "(42, 1.5)"); } +struct unformattable {}; + TEST(ranges_test, format_tuple) { auto t = std::tuple(42, 1.5f, "this is tuple", 'i'); EXPECT_EQ(fmt::format("{}", t), "(42, 1.5, \"this is tuple\", 'i')"); EXPECT_EQ(fmt::format("{}", std::tuple<>()), "()"); - enum class noformatenum{b}; - struct noformatstruct{}; EXPECT_TRUE((fmt::is_formattable>::value)); - EXPECT_FALSE((fmt::is_formattable::value)); - EXPECT_FALSE((fmt::is_formattable::value)); - EXPECT_FALSE((fmt::is_formattable>::value)); - EXPECT_FALSE((fmt::is_formattable>::value)); - EXPECT_FALSE((fmt::is_formattable>::value)); - EXPECT_FALSE((fmt::is_formattable>::value)); - EXPECT_FALSE((fmt::is_formattable>::value)); - EXPECT_TRUE((fmt::is_formattable>::value)); + EXPECT_FALSE((fmt::is_formattable::value)); + EXPECT_FALSE((fmt::is_formattable>::value)); + EXPECT_FALSE((fmt::is_formattable>::value)); + EXPECT_FALSE((fmt::is_formattable>::value)); + EXPECT_FALSE( + (fmt::is_formattable>::value)); + EXPECT_TRUE((fmt::is_formattable>::value)); } #ifdef FMT_RANGES_TEST_ENABLE_FORMAT_STRUCT @@ -232,7 +231,6 @@ TEST(ranges_test, enum_range) { } #if !FMT_MSC_VERSION -struct unformattable {}; TEST(ranges_test, unformattable_range) { EXPECT_FALSE((fmt::has_formatter,