Hello, I've posted a message to comp.gcc.help with a compiler error I'm
having but after some testing me and others found out is a regression on
gcc-4.5, the code is the following:

// -----------------------------------

template <class T>
struct identity
{
    typedef T type;
};

template <class T, typename T::type A>
struct foo {};

template <class T, T A>
struct foo<identity<T>, A> {};

int main()
{
    foo<identity<int>,0> bar; // error here
}

// ----------------------------------

gcc fails with:
teste.cpp:18:23: error: aggregate ‘foo<identity<int>, 0> bar’ has
incomplete type and cannot be defined

If I comment out the partial specialization, it compiles.

I've created ticket #44753 to track this issue.

Regards,
rod

Reply via email to