view gcc/testsuite/g++.dg/template/typename5.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do compile }

// Origin: ariels@compugen.co.il

// PR c++/2513: typename handling when scope is dependent as
// described in DR108.

template <bool flag> struct Select {
  typedef int Result;
};

template <template<class> class Pred> struct FindType {
  typedef typename Select<true>::Result Result;
};

template <int bits> struct Int {
  template<typename T> struct RightSize {};
  typedef typename FindType<RightSize>::Result type;
};