https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59383

naup at sfr dot fr changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |naup at sfr dot fr

--- Comment #1 from naup at sfr dot fr ---
This is the same behaviour as in invalid bug 50418.

Alas, no diagnostic is required, says the standard, and gcc interpretes
**differently** the typedef type wheither the base is template or not.

NON TEMPLATE BASE
struct A
{
   typedef A this_type;
}; 
template <class T> struct B : public A
{
   typedef this_type parent;  // this_type is taken as **A** (current context)
   typedef B this_type;       // the two lines make B ill-formed
}; 

TEMPLATE BASE
template <class T> struct A
{
   typedef A this_type;
}; 
template <class T> struct B : public A<T>
{
   typedef this_type parent;  // this_type is taken as **B** (after-next-line
context)
   typedef B this_type;       // the two lines make B ill-formed
};

Reply via email to