template <class T>
struct bar {
using Ty = int;
};
template <class T>
struct foo : public bar<T> {
using typename bar<T>::Ty;
void baz(Ty);
};
template <class T>
struct bar {
using Ty = int;
};
template <class T>
struct foo : public bar<T> {
using typename bar<T>::Ty;
void baz(Ty);
};