From 54abd3e61cf7e1f9258f80aea6cec41ed9bd322e Mon Sep 17 00:00:00 2001 From: copygirl Date: Mon, 2 Jun 2025 23:18:12 +0200 Subject: [PATCH] Use FnMut instead of Fn --- src/bloxel/storage/bloxel_array.rs | 2 +- src/bloxel/storage/bloxel_store.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bloxel/storage/bloxel_array.rs b/src/bloxel/storage/bloxel_array.rs index 7484068..b07a2c4 100644 --- a/src/bloxel/storage/bloxel_array.rs +++ b/src/bloxel/storage/bloxel_array.rs @@ -23,7 +23,7 @@ impl BloxelArray { Self { size, data } } - pub fn from_fn(size: USize3, f: impl Fn(IVec3) -> T) -> Self { + pub fn from_fn(size: USize3, mut f: impl FnMut(IVec3) -> T) -> Self { let f = |(x, y, z)| f(IVec3::new(x as i32, y as i32, z as i32)); let data = Array3::from_shape_fn(size, f); Self { size, data } diff --git a/src/bloxel/storage/bloxel_store.rs b/src/bloxel/storage/bloxel_store.rs index abe0a42..3c49417 100644 --- a/src/bloxel/storage/bloxel_store.rs +++ b/src/bloxel/storage/bloxel_store.rs @@ -12,7 +12,7 @@ pub trait BloxelStore { pub trait BloxelStoreMut: BloxelStore { fn set(&mut self, pos: IVec3, value: T) -> Result; - fn update(&mut self, f: impl Fn(IVec3, T) -> T) { + fn update(&mut self, mut f: impl FnMut(IVec3, T) -> T) { let (w, h, d) = self.size().into(); for prod in Hom3FCartProd::new(0..w, 0..h, 0..d) { let pos = UVec3::from(prod).as_ivec3();