```
template <typename T> T func() { return T(); }
template int func<int>();
```
The second line is not currently represented in the ASTAST in its lexical context, though it is among the FunctionTemplateDecl's specializations (with `getTemplateSpecializationKind() == TSK_ExplicitInstantiationDefinition`). By contrast, explicit instantiations for classes and variables are represented in their lexical context, though is among the FunctionTemplateDecl's specializations (with `getTemplateSpecializationKind() == TSK_ExplicitInstantiationDefinition`(in addition to being among their owning TemplateDecl's specializations.
This patch simply adds it to the owning context, akin to how Class/Var template explicit instantiations are added to the owning context, and adjusts traversal to match that of CTSDs/VTSDfunction explicit instantiations to the lexical context to match the behavior of classes/vars.
Not well tested.