chiark / gitweb /
only remove tokens for this game!
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 8 Dec 2020 17:42:24 +0000 (17:42 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 8 Dec 2020 17:42:24 +0000 (17:42 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/global.rs

index 1f4ff584a0af04cdb7eba8da42a5161f2d32b1cc..184c25e10006e430f18b6d51aef3dbb57fbc4ed0 100644 (file)
@@ -808,10 +808,11 @@ impl<'ig> InstanceGuard<'ig> {
   fn tokens_deregister_for_id<Id:AccessId, F: Fn(Id) -> bool
                               > (&mut self, oldid: F) {
     let mut tokens = AccessId::global_tokens(PRIVATE_Y).write().unwrap();
-    tokens.retain(|k,v| {
-      let remove = oldid(v.ident);
-      if remove { Id::tokens_registry(self, PRIVATE_Y).tr.remove(k); }
-      !remove
+    tokens.retain(|k,v| if_chain! {
+      if oldid(v.ident);
+      if Id::tokens_registry(self, PRIVATE_Y).tr.remove(k);
+      then { false }
+      else { true }
     });
   }