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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |NEW
   Last reconfirmed|                            |2016-09-18
                 CC|                            |jason at gcc dot gnu.org
         Resolution|DUPLICATE                   |---
     Ever confirmed|0                           |1

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Started with r238696:

commit 44d0a5f893a449013cf4d64127dcac7b51c0a8e8
Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Sun Jul 24 23:40:05 2016 +0000

        PR c++/71515 - typename in partial specialization

        * pt.c (resolve_typename_type): Try to avoid calling
        currently_open_class.

Testcase:

template <bool> struct A;
template <bool _Cond> using enable_if_t = typename A<_Cond>::type;
template <typename, int, typename, typename> struct B;
template <int> struct C;
template <typename> struct D;
template <typename Scalar_, int Size_, typename Derived>
struct B<Scalar_, Size_, Derived, enable_if_t<C<Size_>::peel>> {
  using Base = D<Scalar_>;
//  typedef  D<Scalar_>  Base; // OK
  using typename Base::Scalar;
  Scalar a;
};

See: PR69481 for a similar issue.

Reply via email to