I have a patch at Issue 890041: Make CXXScopeSpec invalid when incomplete - Code Review which has
Sema::RequireCompleteDeclContext(CXXScopeSpec &SS) mark SS as invalid
when it refers to an incomplete type. It's pretty ugly because it
makes lots of parameters non-const, and it breaks one test in way I'm
not sure how to fix, but it also removes several redundant errors.
Is this the right approach to avoid diagnosing "invalid_type::foo"
multiple times? If so, I'll track down the temp.explicit/p3.cpp
failure and mail the working patch. Otherwise, what's the better way
to fix it?