1 // Header for PCH test cxx-friends.cpp
10 template<typename
> class setter
;
12 template<typename
> class promise
{
13 // We used to inject this into future_base with no access specifier,
14 // then crash during AST writing.
15 template<typename
> friend class future_base::setter
;
22 friend void doNotDeserialize();
26 // Reduced testcase from libc++'s <valarray>. Used to crash with modules
30 template <class T
> struct valarray
;
32 template <class T
> struct valarray
{
34 template <class U
> friend struct valarray
;
35 template <class U
> friend U
*begin(valarray
<U
> &v
);