possible bug with function pointers and aliases

BCS BCS at pathlink.com
Mon May 15 15:22:59 PDT 2006


Is this proper operation?

-------------
void fn(){assert(0);}	// make a function

void gm(){assert(0);}	// make another function

alias gm fn;		// alias the second with the name of the first

void main()
{			// make pointer-to-function from name
	void function() fnp = & fn;
			// call pointer-to-function
	fnp();

	// fn();	// wont compile with this line included
}
-------------

This compiles and calls the first function. However if the function "fn" 
is called directly, a compile time error is generated.

This seems to be another manifestation of DMD's failure to check for 
multiple choices when filling a pointer type.

(see: http://d.puremagic.com/bugzilla/show_bug.cgi?id=52)



More information about the Digitalmars-d-bugs mailing list