If a function declaration is found inside a template function as in:
template<class T> void f() { void g(int x = T::v) except(T::w); }
it must be instantiated along with the enclosing template function,
including default arguments and exception specification.
This should also return true if the lexical decl context is a local class. The point is to allow you to remove the code duplication you added in the other changes in this patch.