HasDeclarationMatcher did not handle DeducedType, it always returned false for deduced types.
So with code like this:
struct X{}; auto x = X{};
This did no longer match:
varDecl(hasType(recordDecl(hasName("X"))))
Because HasDeclarationMatcher didn't resolve the DeducedType of x.
This came up because some checks in clang-tidy didn't match as expected anymore.
I think the behavior doesn't need a comment, but the reason :)