(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
template/
memfriend18.C
// PR c++/87571

template <class> struct A {
  template <class> struct B {
    template <class> friend class B;
  protected:
    int protected_member_;
  public:
    template <class T> int method(const B<T>& other) const {
      return other.protected_member_;
    }
  };
};

int main() {
  A<int>::B<int> a;
  A<int>::B<char> b;
  a.method(b);
}