который не предотвращает дисперсию.
я недавно была ошибка, которая была просто исправлена путем изменения
impl<'a> Foo<'a> {
fn foo(&'a self, path: &str) -> Boo<'a> { /* */ }
}
в
impl<'a> Foo<'a> {
fn foo(&self, path: &str) -> Boo { /* */ }
}
что, по моему пониманию, не имело смысла, так как я думал, что вторая версия точно такая же, как и первая, с примененным жизненным разрешением.
В случае, если мы вводим новое время жизни для метода, это, кажется, имеет место в соответствии с этим примером изnomicon.
fn get_mut(&mut self) -> &mut T; // elided
fn get_mut<'a>(&'a mut self) -> &'a mut T; // expanded
Так в чем же разница между этим и моим первым фрагментом кода.