types: add Clone + Debug to ChunkArray iterators

Added for consistency with LayerBlockArray.
This commit is contained in:
Matthias Schiffer 2023-02-15 00:47:59 +01:00
parent 921a218d56
commit 789a4002c7
Signed by: neocturne
GPG key ID: 16EF3F64CB201D9C

View file

@ -116,15 +116,15 @@ impl Debug for ChunkCoords {
pub struct ChunkArray<T>(pub [[T; CHUNKS_PER_REGION]; CHUNKS_PER_REGION]);
impl<T> ChunkArray<T> {
pub fn keys() -> impl Iterator<Item = ChunkCoords> {
pub fn keys() -> impl Iterator<Item = ChunkCoords> + Clone + Debug {
iproduct!(ChunkZ::iter(), ChunkX::iter()).map(|(z, x)| ChunkCoords { x, z })
}
pub fn values(&self) -> impl Iterator<Item = &T> {
pub fn values(&self) -> impl Iterator<Item = &T> + Clone + Debug {
Self::keys().map(|k| &self[k])
}
pub fn iter(&self) -> impl Iterator<Item = (ChunkCoords, &T)> {
pub fn iter(&self) -> impl Iterator<Item = (ChunkCoords, &T)> + Clone + Debug {
Self::keys().map(|k| (k, &self[k]))
}
}