The calling convention is in the wrong place in the closure declaration. For example,
int __fastcall (__closure * x)()
will compile, but
int (__fastcall __closure * x)()
will not.