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 #15 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-05-04 20:35:12 UTC --- (In reply to comment #14) > I went through the life time issues in detail in prior comments. Yes, but you don't seem to understand C++, as evidenced by statements like "The operator, which has been copied into the child via inheritance, i.e. the child's version of the operator" > The C++ rules > for life time of an instance do not apply to those of the life time of a > class. Classes don't have a lifetime - I don't know what you're talking about. > Or are you saying these are not distinct? For what reason is static type > information known at compile time not available to operator new - which is > called at run time? The static type of what? In "A::operator new" the name "this_type" refers to A::this_type. > Also, if operator new is to be an such an exception that static type > information can not be accessed in it, as it can be in every other operator or > method - then why doesn't the compiler say anything about it? Should there > not > be a warning or some sort that an artificial constraint is being applied in > order to satisfy someone's interpretation of object lifetimes according to the > standard? operator new isn't an exception, all member functions work like that. This report is invalid. Please find somewhere else to learn C++, stackoverflow is a good place for it, but reporting compiler bugs isn't the right way to improve your understanding of the language.