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.
Is this necessary? A local function declaration can't be a definition.