http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46220
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-29 00:45:26 UTC --- It certainly is a covariant return type, it meets the criteria in all three bullet points of 10.3 [class.virtual] p5