1template <class> struct A { static const int n = 1; } ;
2template <int> struct B;
3
4template <class S>
5struct restype_order {
6    static const int s = A<S>::n;
7    typedef typename B<(s > 0)>::t t;
8};
9