Attempt to fix Tom Smeding's example from https://bugs.llvm.org/show_bug.cgi?id=24883.
Given the case like this one:
struct A { void f() const {} }; template <typename T> void handler(const T &item) { using a_type_t = A; item.a_type_t::f(); } int main() { handler(A()); }
there is no way to know whether the typedef is used or not before
the templated context is instantiated.
Having this the patch proposes deffering all the diagnostics for
typedefs defined within a dependent context.