2 // { dg-do compile { target c++14 } }
4 template <typename Type> Type constant;
7 struct recurse { auto operator()(, ); }; // { dg-error "expected" }
9 auto &recurse = constant < functors :: recurse > ;
13 template <typename Algo, typename Value>
14 auto operator()(Algo, Value) -> decltype(reflect
15 :: recurse(0, 0)); // { dg-error "use of" }
18 auto &traverse = constant < functors :: traverse > ;
19 operator()()->decltype(traverse(0, 0))// { dg-error "no match" }
20 // { dg-error "39:expected" "" { target *-*-* } .-1 }