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

Dodji Seketeli <dodji at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED

--- Comment #3 from Dodji Seketeli <dodji at gcc dot gnu.org> 2011-11-25 
12:59:05 UTC ---
commenting on the below,

    template <typename t>
    struct foo {
      template <int n>
      using next = typename foo<t>::next<n + 1>;//#1
      template <>
      using next<10> = int; // #2 not sure if alias templates can be
specialized
    };

I think #1 is invalid because [temp.alias]/3 says:

    "The type-id in an alias template declaration shall not refer to the
    alias template being declared."

In other words, the name "next" should not appear at the right hand
side of the "=" in the alias template declaration there.

And in #2, there is the additional invalid specialization of the alias
template, already raised by Daniel on comment #2.

Furthermore, I am not getting any ICE anymore on this from trunk of today
at revision r181718.

So I am closing this as fixed for now.

Thank you for filing this.

Reply via email to