chiark / gitweb /
OpOutcomeThunk: replace the other open-coded resolution site
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 1 May 2022 10:15:44 +0000 (11:15 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 1 May 2022 10:15:44 +0000 (11:15 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/api.rs

index fa76a0c9fc8e66e3098407027688b5c1763487a6..956081d3b3ff077253d7050ef3560c1563d251c8 100644 (file)
@@ -143,10 +143,8 @@ fn api_piece_op<O: op::Complex>(form: Json<ApiPiece<O>>)
       })?;
     Ok::<_,ApiPieceOpError>((update, loose_conflict))
   })().and_then(|(thunk, loose_conflict)| Ok((
-    match thunk {
-      OpOutcomeThunk::Immediate(r) => r,
-      OpOutcomeThunk::Reborrow(f) => f(&mut ig, (player, piece))?,
-    }, loose_conflict
+    thunk.resolve(&mut ig, (player, piece))?,
+    loose_conflict,
   ))) {
     Err(APOE::Inapplicable(poe)) => {
       PrepareUpdatesBuffer::piece_report_error(