Commit ec44c6c1 by Billy Donahue Committed by GitHub

Merge pull request #821 from mazong1123/master

Fixed issue #775. Mark the ConvertibleFromAny constructor as explicit, and fix operator overload issue for Unprintable
parents d406cb18 dc2dbf1f
......@@ -613,7 +613,7 @@ TEST(MatcherCastTest, FromSameType) {
struct ConvertibleFromAny {
ConvertibleFromAny(int a_value) : value(a_value) {}
template <typename T>
ConvertibleFromAny(const T& /*a_value*/) : value(-1) {
explicit ConvertibleFromAny(const T& /*a_value*/) : value(-1) {
ADD_FAILURE() << "Conversion constructor called";
}
int value;
......@@ -867,11 +867,15 @@ class Unprintable {
public:
Unprintable() : c_('a') {}
bool operator==(const Unprintable& /* rhs */) { return true; }
private:
char c_;
};
inline bool operator==(const Unprintable& /* lhs */,
const Unprintable& /* rhs */) {
return true;
}
TEST(EqTest, CanDescribeSelf) {
Matcher<Unprintable> m = Eq(Unprintable());
EXPECT_EQ("is equal to 1-byte object <61>", Describe(m));
......
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