http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53225
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |RESOLVED Resolution| |INVALID --- Comment #23 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-05-04 21:56:25 UTC --- You don't even have a B::this_type typedef, how could (this_type*) possibly refer to anything except A*? Just by calling it "this_type" doesn't make it magic that the compiler adjusts to refer to teh dynamic type. Daniel, can you explain it to him better?