Смысл в том что при return'е лайфтайм борровинга в вызове opt.as_mut() привязывается к лайфтайму '0 возвращаемого значения. Borrow checker не может понять что если происходит return, то не может пойти след цикл, а если return не происходит, то можно заимствовать на меньший лайфтайм.
Обсуждают сегодня