/in/foo.cc: In function 'int main()':
/in/foo.cc:28:20: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
28 | auto dfs = [&](auto &&self, int u) -> void
| ^~~~
/in/foo.cc: In lambda function:
/in/foo.cc:38:21: error: expression cannot be used as a function
38 | self(self, v);
| ~~~~^~~~~~~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:61:16: error: no match for call to '(main()::<lambda(int&&, int)>) (main()::<lambda(int&&, int)>&, int&)'
61 | dfs(dfs, u);
| ~~~^~~~~~~~
/in/foo.cc:28:16: note: candidate: 'main()::<lambda(int&&, int)>'
28 | auto dfs = [&](auto &&self, int u) -> void
| ^
/in/foo.cc:28:16: note: no known conversion for argument 1 from 'main()::<lambda(int&&, int)>' to 'int&&'