Files
clang-uml/tests/t20053/t20053.cc

28 lines
644 B
C++

namespace clanguml {
namespace t20053 {
template <typename F> int a1(F &&f) { return f(42); }
int a2(int x) { return 2; }
int a3(int x) { return 3; }
int tmain()
{
// Call expression in a nested lambda
auto v1 = [](auto &&arg1) {
return [](auto &&arg2) { return a2(arg2); }(arg1);
}(0);
// Nested lambda call without any actual calls
auto v2 = [](auto &&arg1) {
return [](auto &&arg2) { return arg2 + 2; }(arg1);
}(0);
// Call expression in a nested lambda in call expression
auto v4 = a1(
[](auto &&arg1) { return [](auto &&arg2) { return a3(arg2); }(arg1); });
return 0;
}
}
}