1 // PR c++/72759
2 // { dg-do compile { target c++14 } }
3 
4 template <typename> struct SpecPerType;
5 class Specializer {
6   public:  template <bool> static void MbrFnTempl();
7   template <unsigned> struct A { static void InnerMemberFn(); };
Trigger()8   void Trigger() { A<0>::InnerMemberFn; }
9 };
10 template <> struct SpecPerType<Specializer> {
11   using FnType = void *;
12   template <bool P>
13   static constexpr FnType SpecMbrFnPtr = Specializer::MbrFnTempl<P>;
14 };
15 template <unsigned X> void Specializer::A<X>::InnerMemberFn() {
16   using Spec = SpecPerType<Specializer>;
17   Spec ErrorSite = Spec::SpecMbrFnPtr<SpecMbrFnPtr>;  // { dg-error "not declared" }
18 }
19