2024-02-16 14:02:50 -06:00
|
|
|
//@ run-rustfix
|
2023-08-28 03:57:29 -05:00
|
|
|
#![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().fold(0, |result, mut layer| result + layer.process())
|
|
|
|
//~^ ERROR cannot borrow `**layer` as mutable, as it is behind a `&` reference
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|