1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// Test using std::function wrapper. // { dg-do run { target c++11 } } #include <functional> typedef std::function<int()> FN; template<typename T> FN f(T fn) { return [fn]{return fn(2);}; } int main() { auto fn = f([](int i){return i*21;}); if (fn() != 42) return 1; return 0; }