struct Named {
struct /*Unnamed*/ {
void Function();
} un;
};
typedef decltype(Named::un) Unnamed;
void Unnamed::Function(){
}
int main() {
Named named;
named.un.Function();
}
c3RydWN0IE5hbWVkIHsKICBzdHJ1Y3QgLypVbm5hbWVkKi8gewogICAgdm9pZCBGdW5jdGlvbigpOwogIH0gdW47Cn07Cgp0eXBlZGVmIGRlY2x0eXBlKE5hbWVkOjp1bikgVW5uYW1lZDsKCnZvaWQgVW5uYW1lZDo6RnVuY3Rpb24oKXsKfQoKaW50IG1haW4oKSB7CiAgTmFtZWQgbmFtZWQ7CiAgbmFtZWQudW4uRnVuY3Rpb24oKTsKfQ==