sl@0: /*
sl@0:  * It is known that this code not compiled by following compilers:
sl@0:  *
sl@0:  * It is known that this code compiled by following compilers:
sl@0:  *   gcc 2.95.3
sl@0:  *   gcc 3.3.3
sl@0:  *   gcc 3.4.1
sl@0:  *   MSVC 6
sl@0:  *   MSVC 8
sl@0:  */
sl@0: 
sl@0: struct A
sl@0: {
sl@0:   private:
sl@0:     struct B
sl@0:     {
sl@0:         template <typename T>
sl@0:         static void f( T& ) {}
sl@0: 
sl@0:         template <bool V>
sl@0:         struct C
sl@0:         {
sl@0:         };
sl@0:     };
sl@0: };
sl@0: 
sl@0: template <>
sl@0: struct A::B::C<true>
sl@0: {
sl@0: };
sl@0: