On Thu, Dec 4, 2008 at 12:23 PM, Denis Koroskin <[EMAIL PROTECTED]> wrote: > On Thu, 04 Dec 2008 18:37:10 +0300, Brian <[EMAIL PROTECTED]> > wrote: > >> Is it safe to cast a function(or delegate) into one that takes more >> arguments, causing those arguments to be ignored? >> Example: >> >> void fn() { >> } >> >> auto fptr = cast(void function(int, int))&fn; >> fptr(1, 2); >> >> // It seems to work with a simple test case, I'm just afraid of it >> blowing up at me later on. > > Try using type-safe alternatives: > > auto fptr = (int,int) { > fn(); > } >
That's only safe in the context of the declaring function, in D1 at least.