https://issues.dlang.org/show_bug.cgi?id=20786
--- Comment #2 from Steven Schveighoffer <schvei...@yahoo.com> --- Shouldn't that work though? This compiles just fine: void x(void function() foo) { foo(); } void bar() @nogc pure nothrow @safe {} void main() { x(&bar); } I guess a good counter case would be helpful here. --