Отнюдь, Dushevny. Даже если он так сделает, лямбда кончается раньше использования var2 и var3, и ругаться компилятор не должен.
От лишней точки с запятой компилятору может снести голову по-разному и он может вывалить кучу совершенно непонятной чуши, никак не связанной с настоящей ошибкой. А var2 и var3 передаются параметрами в охватывающую функцию func1(), так что вполне могут использоваться после тела лямбды, я даже не стал вдумываться в смысл сообщений о них. Это я к тому, что надо сначала убрать явные ошибки, а потом бороться с хитрыми (если они не пропадут).