namespace a {
class Class1 {
  void f();
};

class Class2 {
  void f();
};

class Class3 {
  void f();
};

class Class4 {
  void f();
};

class Class5 {
  void f();
};

class Class6 {
  int f();
};

class Class7 {
  int f();
  int g();
};

void Fun1();

inline void Fun2() {}

} // namespace a

namespace b {
void Fun3();
} // namespace b
