Improve handling of streamable and convertible to bool types (#1766)

This commit is contained in:
Victor Zverovich
2020-07-12 08:26:35 -07:00
parent 415cd51913
commit 16cac46a09
2 changed files with 29 additions and 8 deletions

View File

@@ -290,9 +290,20 @@ std::ostream& operator<<(std::ostream& os,
TEST(OStreamTest, FormatExplicitlyConvertibleToStdStringView) {
EXPECT_EQ("bar", fmt::format("{}", explicitly_convertible_to_string_like()));
}
#endif // FMT_USE_STRING_VIEW
struct streamable_and_convertible_to_bool {
operator bool() const { return true; }
};
std::ostream& operator<<(std::ostream& os, streamable_and_convertible_to_bool) {
return os << "foo";
}
TEST(OStreamTest, FormatConvertibleToBool) {
EXPECT_EQ("foo", fmt::format("{}", streamable_and_convertible_to_bool()));
}
struct copyfmt_test {};
std::ostream& operator<<(std::ostream& os, copyfmt_test) {