From 58c30675741c85d728e499fe9215a084d5520db2 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 27 Sep 2020 01:25:20 +0100 Subject: [PATCH] abolish two unwraps Signed-off-by: Ian Jackson --- src/api.rs | 7 +++---- src/error.rs | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/api.rs b/src/api.rs index ea2ef9f8..2078fb2a 100644 --- a/src/api.rs +++ b/src/api.rs @@ -108,8 +108,7 @@ fn api_piece_op(form : Json>) match (||{ let p = g_pieces.get(piece).ok_or(OnlineError::PieceGone)?; - let pc = gs.pieces.byid_mut(piece) - .map_err(|()| OnlineError::PieceGone)?; + let pc = gs.pieces.byid_mut(piece)?; let q_gen = form.gen; let u_gen = @@ -166,8 +165,8 @@ impl ApiPieceOp for ApiPieceGrab { fn op(&self, gs: &mut GameState, player: PlayerId, piece: PieceId, p: &dyn Piece, lens: &dyn Lens) -> (PieceUpdateOp<()>, Vec) { - let pl = gs.players.byid(player).unwrap(); - let pc = gs.pieces.byid_mut(piece).unwrap(); + let pl = gs.players.byid(player)?; + let pc = gs.pieces.byid_mut(piece)?; if pc.held.is_some() { throw!(OnlineError::PieceHeld) } pc.held = Some(player); diff --git a/src/error.rs b/src/error.rs index efb92a76..b45d88ae 100644 --- a/src/error.rs +++ b/src/error.rs @@ -136,8 +136,8 @@ impl IdForById for T where T : AccessId { } impl IdForById for PieceId { - type Error = (); - const ERROR : () = (); + type Error = OE; + const ERROR : OE = OE::PieceGone; } #[macro_export] -- 2.30.2