http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57942

Richard Smith <richard-gccbugzilla at metafoo dot co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |richard-gccbugzilla@metafoo
                   |                            |.co.uk

--- Comment #1 from Richard Smith <richard-gccbugzilla at metafoo dot co.uk> ---
Reduced to:

template<typename T> struct S { typename T::error type; };
struct X {};
void f(S<int> *);
void f(...);
void g() { f((X*)0); }

It looks like, when considering a conversion from A* to B*, where A is a class
type, gcc attempts to complete B. There seems to be no obvious justification
for this (it doesn't help in determining whether B is a base class of A, which
seems like the most likely explanation for this behavior).

Reply via email to