//@ run-rustfix | |
#![allow(unused_mut)] | |
#![allow(dead_code)] | |
pub trait Layer { | |
fn process(&mut self) -> u32; | |
} | |
pub struct State { | |
layers: Vec<Box<dyn Layer>>, | |
} | |
impl State { | |
pub fn process(&mut self) -> u32 { | |
self.layers.iter_mut().fold(0, |result, mut layer| result + layer.process()) | |
//~^ ERROR cannot borrow `**layer` as mutable, as it is behind a `&` reference | |
} | |
} | |
fn main() {} |