// { dg-do link } | |
// { dg-options "-Wno-deprecated" } | |
struct B { | |
typedef int I; | |
}; | |
template <class T> | |
struct D1 : public B { | |
}; | |
template <class T> | |
struct D2 : public D1<T> { | |
I i; // { dg-error "" } not a type | |
}; | |
template <> | |
struct D1<int> { | |
typedef double I; | |
}; | |
template <class T> | |
void f(T); | |
template <> | |
void f(double) {} | |
int main() | |
{ | |
D2<int> d2i; | |
f(d2i.i); // { dg-error "" } no member i | |
} |