From 74b02a31f4537bef9c962f754b556a47bc16a161 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 1 May 2022 18:21:04 +0100 Subject: [PATCH] apitest: Break out findp Signed-off-by: Ian Jackson --- apitest/atmain.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/apitest/atmain.rs b/apitest/atmain.rs index ea5b155d..cdfe06b7 100644 --- a/apitest/atmain.rs +++ b/apitest/atmain.rs @@ -415,12 +415,17 @@ pub fn update_update_pieces( ) } + fn findp<'p, PI:Idx>(pieces: &'p mut Pieces, piece: &'_ str) + -> Option<&'p mut PieceInfo> { + pieces.iter_mut().find(|p| p.id == piece) + } + + let v = v.as_object().unwrap(); + if k == "Piece" { - let v = v.as_object().unwrap(); - let piece = v["piece"].as_str().unwrap(); - let p = pieces.iter_mut().find(|p| p.id == piece); - let (op, d) = v["op"].as_object().unwrap().iter().next().unwrap(); + let p = findp(pieces, v["piece"].as_str().unwrap()); if_let!{ Some(p) = p; else return } + let (op, d) = v["op"].as_object().unwrap().iter().next().unwrap(); match op.as_str() { "Move" => { -- 2.30.2