Makes EXPECT_THAT typesafe; updates CHANGES for 1.7.0; pulls in gtest r653
diff --git a/test/gmock-matchers_test.cc b/test/gmock-matchers_test.cc
index 6645946..3ec2989 100644
--- a/test/gmock-matchers_test.cc
+++ b/test/gmock-matchers_test.cc
@@ -721,6 +721,15 @@
   EXPECT_TRUE(m2.Matches(b));
 }
 
+TEST(ATest, WorksForDerivedClass) {
+  Base base;
+  Derived derived;
+  EXPECT_THAT(&base, A<Base*>());
+  // This shouldn't compile: EXPECT_THAT(&base, A<Derived*>());
+  EXPECT_THAT(&derived, A<Base*>());
+  EXPECT_THAT(&derived, A<Derived*>());
+}
+
 // Tests that A<T>() describes itself properly.
 TEST(ATest, CanDescribeSelf) {
   EXPECT_EQ("is anything", Describe(A<bool>()));