blob: 407a7dc0f2dca1a4e9c2924662b20d35543bd83d [file] [log] [blame]
// PR c++/100502
template <class T>
struct EnumeratorRange {
struct Iterator {
EnumeratorRange range_;
friend void f(Iterator i) {
i.range_.end_reached_;
i.range_.EnumeratorRange::end_reached_;
&i.range_.end_reached_;
&i.range_.EnumeratorRange::end_reached_;
}
};
private:
bool end_reached_;
#if DECLARE_FRIEND
friend void f(Iterator);
#endif
};
int main() {
EnumeratorRange<int>::Iterator i;
f(i);
}