On Saturday, 20 April 2013 at 00:03:36 UTC, Walter Bright wrote: > A function foo: > > extern(C) int function()pure foo() { return null; } > That is not it as foo is extern(C). > A type fp: > > alias extern(C) int function()pure function() fp; Same here. In general we lack a mechanism to choose what an attribute bind to.