// PR c++/14930 template class Point; template<> class Point { friend class Plane; double v; }; struct Plane { double get(const Point& p); }; double Plane::get(const Point &p) { return p.v; }