namespace Namespace1 { namespace Nested1 {} }

namespace Namespace1 {
static int varInNamespace = 1;
struct char_box { char c; };
void funcInNamespace();

namespace Nested1 {
void funcInNestedNamespace(int i);
struct char_box {
  char c;
  void methodInNestedNamespace();
  struct inner_char_box {
    char c;
  };
};
}

namespace Nested1 {
static int varInNestedNamespace = 1;
void funcInNestedNamespace(int i);

namespace Namespace1 {
struct char_box { char c; };
} // namespace Namespace1
} // namespace Nested1

namespace Nested2 {
static int varInNestedNamespace = 2;
} // namespace Nested2

namespace Nested1 { namespace Namespace1 {} }
} // namespace Namespace1

namespace Namespace1 {
typedef int my_typedef;
using my_using_decl = int;
}

inline namespace InlineNamespace1 {
static int varInInlineNamespace = 3;
void funcInInlineNamespace();
}
