// { dg-do run } // Bug: g++ forgets about the instantiation of class1 when looking up // class11_value, and tries to look things up in class1. template struct class1 { struct class11 { typedef ItIsInt class11_value; }; }; template struct class3 { int f(); }; template int class3::f() { return typename class1::class11::class11_value(10); } struct class2 { typedef int class2_value; }; int main() { class3 the_class3; the_class3.f(); }