PR c++/81917 - ICE with void_t and partial specialization.
[official-gcc.git] / gcc / testsuite / g++.dg / template / fntype1.C
blobd7be273aa42192ec940738ceac9c81134c17195b
1 bool f(int i) { return i != 5; }
3 template <class X, class P = bool(X)>
4 struct Traits
6  typedef P type;
7 };
9 template <class X, class P = typename Traits<X>::type>
10 struct S
12  const P& p_;
13  S( const P& p ) : p_(p) {} // const reference
16 template <class X>
17 S<X> make_s(const typename Traits<X>::type & p) // const reference
19  return S<X>(p); // << HERE
23 int main()
25  make_s<int>(f);