Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
pub fn map_piece_update_op(&self, ioccults: &IOccults,
gpc: &GPiece, ipc: &IPiece,
op: PieceUpdateOp<(),()>
- ) -> PieceUpdateOp<PreparedPieceState, ZLevel>
+ ) -> Option<PieceUpdateOp<PreparedPieceState, ZLevel>>
{
- op.try_map(
+ let op = op.try_map(
|()|{
let ns = self.prep_piecestate(ioccults, gpc, ipc)?;
<Result<_,InternalError>>::Ok(ns)
|()|{
Ok(gpc.zlevel.clone())
}
- )?
+ )?;
+ Some(op)
}
#[throws(IE)]
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,
})