1// { dg-do compile }
2
3// Origin: ariels@compugen.co.il
4
5// PR c++/2513: typename handling when scope is dependent as
6// described in DR108.
7
8template <bool flag> struct Select {
9  typedef int Result;
10};
11
12template <template<class> class Pred> struct FindType {
13  typedef typename Select<true>::Result Result;
14};
15
16template <int bits> struct Int {
17  template<typename T> struct RightSize {};
18  typedef typename FindType<RightSize>::Result type;
19};
20