Safe to throw away function arguments with cast?

Denis Koroskin 2korden at gmail.com
Thu Dec 4 09:23:52 PST 2008


On Thu, 04 Dec 2008 18:37:10 +0300, Brian <digitalmars at brianguertin.com>  
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();
}


More information about the Digitalmars-d-learn mailing list