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

--- Comment #21 from Elias Pipping <pipping at exherbo dot org> ---
(In reply to Jonathan Wakely from comment #19)
> That example's a bit misleading, because 'int' really isn't a class,
> namespace or enumeration, but the error's wrong because there could be a
> specialization of A<>, and the same error is produced even if A<T>::type is
> a class type.

You're right. This will reproduce the problem, too:

<<SNIP

struct C;

template <typename T> struct A {
  typedef C type;
};

template <typename T> struct B : public A<T> {
  using typename A<T>::type;
  static const int block_size = type::block_size;
};

<<SNAP

Reply via email to