Trying some code, I realized that the following code compiles:
struct { int x, y; } foo(void) { }
It se
Or you could create infinite recursion:
struct { int x, y; } foo(void) { return foo(); }
Which I think is completely legal.