| // PR c++/99201 | |
| // { dg-do compile { target c++17 } } | |
| template <typename RefF> | |
| auto | |
| make_tester(const RefF& reffun) | |
| { | |
| return [=](auto in) { | |
| auto&& expected = [&](const auto&... vs) { | |
| if constexpr (sizeof(in) > 0) | |
| return [&](int i) { return reffun(vs[i]...); }(0); | |
| else | |
| return [&](int i) { return reffun(vs[i]...); }(0); | |
| }; | |
| }; | |
| } | |
| int main() | |
| { | |
| make_tester([](int x) { return x; })(0); | |
| return 0; | |
| } |