I know it\'s like opening the Pandora box but it doesn\'t stop bothering me. Consider a simple example:
#include template s
In C++17 you can pass pointer to lambda function as template parameter with function pointer type:
# include template int get_twice() { return fn() * 2; } int main() { int result = get_twice <+[]() { return 42; }> (); assert(result == 84); }