Template friend declaration gets removed
Predelnik opened this issue · comments
Example:
template <typename T>
class C;
template <typename T>
class D
{
static void f ();
template <typename>
friend class C;
};
template <typename T>
class C
{
public:
static void f ()
{
D<T>::f ();
}
};
int main ()
{
C<int>::f ();
}
Everything else is preserved but
template <typename>
friend class C;
gets removed which makes D<T>
inaccessible from C<T>