// RUN: %clang_cc1 -ast-print -std=c++14 %s | FileCheck %s namespace ns { struct Wrapper { class Inner { Inner(); Inner(int); ~Inner(); void operator += (int); template void member(); static void staticMember(); operator int(); operator ns::Wrapper(); // CHECK: operator ns::Wrapper() }; }; Wrapper::Inner::Inner() { } // CHECK: Wrapper::Inner::Inner() void Wrapper::Inner::operator +=(int) { } // CHECK: void Wrapper::Inner::operator+=(int) } ns::Wrapper::Inner::Inner(int) { } // CHECK: ns::Wrapper::Inner::Inner(int) ns::Wrapper::Inner::~Inner() { } // CHECK: ns::Wrapper::Inner::~Inner() template void ::ns::Wrapper::Inner::member() { } // CHECK: template void ::ns::Wrapper::Inner::member() ns::Wrapper::Inner::operator int() { return 0; } // CHECK: ns::Wrapper::Inner::operator int() ns::Wrapper::Inner::operator ::ns::Wrapper() { return ns::Wrapper(); } // CHECK: ns::Wrapper::Inner::operator ::ns::Wrapper() namespace ns { void Wrapper::Inner::staticMember() { } // CHECK: void Wrapper::Inner::staticMember() }