​原文​

void foo(void delegate() @system dg) @safe {
int *bar;
@system void corrupt() { bar = cast(int *)0xdeadbeef;}
dg = &corrupt;
// 可调用dg吗?
}//dip1000都可编译

是的,你可以!:

void main() @safe
{
void delegate() @system dg = () @system { /* 危险动作*/ };
}