Интересно, что в расте замыкание захватывает переменную не в момент исполнения, а в момент определения. Хотя в момент определения это просто кусок кода. В итоге использовать захваченную изменяемую переменную нельзя начиная с момента определения замыкания и до исполнения. Зачем именно так.
@3draven не надо никого спрашивать, достаточно в код посмотреть