http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46824
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-03-10 22:26:42 UTC --- (In reply to comment #7) > It doesn't need to be a pointer to non-class type; a pointer to class is > itself > a non-class type. Indeed. And the example compiles fine if the type is complete. I can't find any wording that says why converting to Incomplete* should not be allowed when converting to Complete* is ok. I wondered if DR416 is relevant, but I don't think it applies, as T1 is Ptr here, which is complete.