// Header for PCH test cxx-friends.cpp class A { int x; friend class F; }; namespace PR12585 { struct future_base { template class setter; }; template class promise { // We used to inject this into future_base with no access specifier, // then crash during AST writing. template friend class future_base::setter; int k; }; }