// { dg-do compile } | |
// Copyright (C) 2003 Free Software Foundation, Inc. | |
// Contributed by Nathan Sidwell 15 Aug 2003 <nathan@codesourcery.com> | |
// checked required bases in wrong scope. | |
class Helper {}; | |
template<class T> struct X { }; | |
template<class T> class Base | |
{ | |
protected: | |
typedef Helper H; | |
}; | |
template<class T > | |
struct Derived : Base<T> | |
{ | |
typedef Base<T> Parent; | |
typedef typename Parent::H H; | |
class Nested : public X<H> {}; | |
Nested m; | |
void Foo (); | |
}; | |
void Foo (Derived<char> &x) | |
{ | |
x.Foo (); | |
} |