PrintingPolicy.PrintCanonicalTypes causes instantiation-dependent types' to be printed not qualified. Example:
void func(std::vector<int> v);
template<typename T>
void func(std::vector<T> v);
The reported types of the 2 v's are
std::vector<int> and
vector<type-parameter-0-0> respectively.
This has as effect that we cannot compute any statistics about types of parameters that are instantiation-dependent used in function template decls, because they are indistinguishable due to missing namespace qualifications.
This is not a really big problem, because we can't do that always anyway, e.g. there will be many function template parameter variable of type type-parameter-0-0, which aren't indicative either.
I suspect this to be a clang bug.