1 | // RUN: %clang_cc1 %s |
---|---|
2 | |
3 | template <typename T> |
4 | struct Foo { |
5 | template <typename U> |
6 | struct Bar {}; |
7 | |
8 | // The templated declaration for class Bar should not be instantiated when |
9 | // Foo<int> is. This is to protect against PR5848; for now, this "parses" but |
10 | // requires a rewrite of the templated friend code to be properly fixed. |
11 | template <typename U> |
12 | friend struct Bar; |
13 | }; |
14 | |
15 | Foo<int> x; |
16 |