Оказывается, в gcc уже черт знает сколько лет существуют замыкания в виде вложенных функций. Настоящие замыкания! Но только в C, в C++ они не работают (в C++ теперь есть лямбды, но это ж недавно).
А мужики-то и не знали! Если серьезно, я поражен.
Update. Карнавал отменяется. Это не настоящие замыкания, они не сохраняют жизнь пойманным локальным переменным при выходе из функции. Ну, так неинтересно. Как-то даже обидно стало. Пустышка.
Ладно, будем лямбды значит внедрять в народное хозяйство. Кстати, пару недель назад впервые написал настоящую лямбду в рабочем коде на C++.