1// { dg-do compile }
2
3// Origin: lorgon1@yahoo.com
4
5// PR c++/11154: Multi-level template argument in partial ordering of
6// class template
7
8template <class A> struct Outer {
9   template <class T, class U = void, class V = void> struct Foo {};
10   template <class T, class U> struct Foo<T,U,void> {};
11   template <class T> struct Foo<T,void,void> {};
12};
13
14Outer<int>::Foo<int,void,void> f;
15