blob: 14ac4a9ff5d0aaea0c86c3b94040385cea0d74c6 [file] [log] [blame] [edit]
//@ 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() {}