template struct pair {}; struct A { using iterator = pair; pair a_[]; }; struct B { using iterator = A::iterator; iterator begin(); A *tag_set_; }; B b; int main() {};