1 class X { };
2 struct Y { };
3 
4 namespace N {
5   template<typename> class Z;
6 }
7 
8 namespace M {
9   class A;
10 }
11 using M::A;
12 
13 namespace N {
14   class Y;
15 
16   void test() {
17     class
18     // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:17:10 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s
19     // FIXME: the redundant Y is really annoying... it needs qualification to
20     // actually be useful. Here, it just looks redundant :(
21     // CHECK-CC1: A
22     // CHECK-CC1: M : M::
23     // CHECK-CC1: N : N::
24     // CHECK-CC1: X
25     // CHECK-CC1: Y
26     // CHECK-CC1: Y
27     // CHECK-CC1: Z
28