| 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 |