From: Ian Jackson Date: Sun, 14 Mar 2021 19:24:25 +0000 (+0000) Subject: allow map_piece_update_op to return None X-Git-Tag: otter-0.4.0~63 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=1a55b2dcccc2d70791419365f9b6d740c1f87165;p=otter.git allow map_piece_update_op to return None Signed-off-by: Ian Jackson --- diff --git a/src/pcrender.rs b/src/pcrender.rs index d25167fe..02e96ed0 100644 --- a/src/pcrender.rs +++ b/src/pcrender.rs @@ -39,9 +39,9 @@ impl PieceRenderInstructions { pub fn map_piece_update_op(&self, ioccults: &IOccults, gpc: &GPiece, ipc: &IPiece, op: PieceUpdateOp<(),()> - ) -> PieceUpdateOp + ) -> Option> { - op.try_map( + let op = op.try_map( |()|{ let ns = self.prep_piecestate(ioccults, gpc, ipc)?; >::Ok(ns) @@ -49,7 +49,8 @@ impl PieceRenderInstructions { |()|{ Ok(gpc.zlevel.clone()) } - )? + )?; + Some(op) } #[throws(IE)] diff --git a/src/updates.rs b/src/updates.rs index b6eb9013..e73235b2 100644 --- a/src/updates.rs +++ b/src/updates.rs @@ -507,8 +507,7 @@ impl<'r> PrepareUpdatesBuffer<'r> { max_z.update_max(&gpc.zlevel.z); let op = pri.map_piece_update_op(ioccults, gpc, ipc, op)?; - - Some(PreparedPieceUpdate { + op.map(|op| PreparedPieceUpdate { piece: pri.vpid, op, })