chiark / gitweb /
hand: Move owned to where we can reuse it
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 23 Mar 2021 22:53:01 +0000 (22:53 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 23 Mar 2021 22:53:01 +0000 (22:53 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/hand.rs

index 07d5e8bff949565c3d79d8bd41d8f6b4f0e4b7fb..0808a5050519c6b795fc2ef9d8468942528d0bb3 100644 (file)
@@ -88,12 +88,15 @@ impl PieceTrait for Hand {
   fn nfaces(&self) -> RawFaceId { 1 }
   #[throws(IE)]
   fn svg_piece(&self, f: &mut Html, gpc: &GPiece, _gs: &GameState, _vpid: VisiblePieceId) {
+    let owned = if_chain!{
+      if let Some(xdata) = gpc.xdata.get::<HandState>()?;
+      if let Some(owned) = &xdata.owner;
+      then { Some(owned) }
+      else { None }
+    };
     self.shape.svg_piece_raw(f, gpc.face, &mut |f: &mut String| {
-      if_chain!{
-        if let Some(xdata) = gpc.xdata.get::<HandState>()?;
-        if let Some(owned) = &xdata.owner;
-        then { write!(f, r##" stroke-dasharray="{}" "##,
-                      &owned.dasharray.0)?; }
+      if let Some(owned) = owned {
+        write!(f, r##" stroke-dasharray="{}" "##, &owned.dasharray.0)?;
       }
       Ok(())
     })?;