| // Core 1715 | |
| // { dg-do compile { target c++11 } } | |
| // { dg-options -fno-new-inheriting-ctors } | |
| template<class T> struct S { | |
| private: | |
| typedef int X; | |
| friend struct B; | |
| }; | |
| struct B { | |
| template<class T> B(T, typename T::X); | |
| }; | |
| struct D: B { | |
| using B::B; // { dg-prune-output "private" } | |
| }; | |
| S<int> s; | |
| B b(s, 2); // Okay, thanks to friendship. | |
| D d(s, 2); // { dg-error "" } was an error before P0136 |