Full name of submitter (unless configured in github; will be published with the issue): Hubert Tong Reference (section label): temp.deduct.type Link to reflector thread (if any): N/A Issue description: https://wg21.link/temp.deduct.type#5.1 has, as a non-deduced context, - The [_nested-name-specifier_](https://eel.is/c++draft/expr.prim.id.qual#nt:nested-name-specifier) of a type that was specified using a [_qualified-id_](https://eel.is/c++draft/expr.prim.id.qual#nt:qualified-id)[.](https://eel.is/c++draft/temp.deduct.type#5.1.sentence-1) This does not cover templates named using a _qualified-id_. There is implementation divergence: ```cpp template <template <typename> class> struct B; struct C { template <typename> struct Nested; }; template <typename T> void f(T *, B<T::template Nested> *); void g(C *cp) { f(cp, 0); // Clang rejects; `T::` in the declaration of `f` is not a non-deduced context } ``` Online compiler link: https://godbolt.org/z/8sTvW7W94 Suggested resolution: Modify https://wg21.link/temp.deduct.type#5.1: - The _nested-name-specifier_ of a type <ins>or template </ins>that was specified using a _qualified-id_.