Э
Size: a a a
Э
AL
f
#[derive(Clone)]
struct Elem {}
struct Network {}
struct List { list: Vec<Elem>, network: Network }
impl List {
fn foo(&mut self) {
let elems = self.list.iter().cloned();
for elem in elems {
self.send(elem)
}
}
fn send(&mut self, _e: Elem) { /* self.network.send(_e) */ }
}f
&'static можно только после материализацииЭ
foo(self) -> Self? Тогда внутри разбирается на (Vec, Network), потом делаешь Self::bar(&mut network, elem.clone()), а потом пересобираешь обратно в Self.f
Э
f
f
f
Э
Э
АВ
АВ
BD
АВ
BD
АВ