// PR c++/17763 template struct Outer { struct Inner {}; Inner foo(); }; typedef int X; typedef Outer XOuter; int main() { Outer ab; ab.foo() == 1; // { dg-error "ab.Outer" } }