Zarathustra wrote:
Don Wrote:
It isn't. Tfunc2 is a function pointer, which is typically the same as
size_t. So any int can be stored inside it. It's generally a very bad
idea to do so, of course.
Never mind what is stored inside func2. 0x00 is only to simplify the code.
Tfunc1 - pointer to function without args
Tfunc2 - pointer to function with 1 arg
so:
func2 = cast(Tfunc1)something;
doesn't have a sense, because type of func2 is Tfunc2 type not Tfunc1!
Ah, I misread it.
In D1 this causes compilation error, but DMD2.035 doesn't generate any
compilation message, even warning.
Clearly a bug. Please put it into Bugzilla.