1 // RUN: %clang_cc1 -fsyntax-only %s
2 
3 template <typename T>
4 struct foo {
5   struct bar;
6 
7   bar fn() {
8     // Should not get errors about bar being incomplete here.
9     bar b = bar(1, 2);
10     return b;
11   }
12 };
13 
14 template <typename T>
15 struct foo<T>::bar {
16   bar(int, int);
17 };
18 
19 void fn() {
20   foo<int>().fn();
21 }
22