chiark / gitweb /
Provide is_default() function
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 18 Apr 2022 10:42:26 +0000 (11:42 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 18 Apr 2022 12:30:43 +0000 (13:30 +0100)
We're going to use this to elide some fields from the game save state.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Cargo.lock
Cargo.toml
cli/otter.rs
src/prelude.rs
src/utils.rs

index 1389d223cdd1edf59fb05277bb3f0e50e42c111e..cec429b99ddaaaecdabe94228d10ddd7e4a94d28 100644 (file)
@@ -2648,6 +2648,7 @@ dependencies = [
  "chrono",
  "chrono-tz",
  "console",
+ "const-default",
  "crossbeam-utils",
  "delegate",
  "derive-into-owned",
index 548889a5cd082c85039498ff8fe70180242cdbd5..ab5799d20c43a48986619d100b4b9635203bd30a 100644 (file)
@@ -89,6 +89,7 @@ xmlparser = "0.13"
 zip="0.6"
 
 async-condvar-fair = { version="0.2", features=["parking_lot_0_12"] }
+const-default = { version="1",    features=["derive"      ] }
 enum-map     = { version="2"    , features=["serde"       ] }
 flexi_logger = { version="0.22" , features=["specfile"    ] }
 image = { version = "0.24", default-features=false, features=["jpeg","png"] }
index 0c9ada05e665245fb4cb95ea65c6e0ac67956287..89657b9aa4d675bff120121bd17c108711128cbe 100644 (file)
@@ -22,7 +22,6 @@ pub use std::rc::Rc;
 
 pub use argparse::{self,ArgumentParser,action::{TypedAction,ParseResult}};
 pub use argparse::action::{Action,IFlagAction,IArgAction};
-pub use const_default::ConstDefault;
 pub use derive_more::Display;
 
 pub use otter::prelude::*;
index 05de71236dbfb973ba268be0243ff787c1c229e4..f62e4ba75faee627f49e9aa1b64f8d1438f16332 100644 (file)
@@ -58,6 +58,7 @@ pub use arrayvec::ArrayVec;
 pub use boolinator::Boolinator as _;
 pub use byteorder::{BigEndian, LittleEndian, ReadBytesExt, WriteBytesExt};
 pub use cast_trait_object::{dyn_upcast, DynCastExt};
+pub use const_default::ConstDefault;
 pub use delegate::delegate;
 pub use derive_into_owned::IntoOwned;
 pub use derive_more::*;
index c04918b1759308128f6550e5799566c6cbd45aa1..f12ec31f0649be244d00801ce4545ce8fbbccdf8 100644 (file)
@@ -622,6 +622,8 @@ impl<I,T> IndexVec<I,T> where I: index_vec::Idx {
   }
 }
 
+pub fn is_default<T: ConstDefault + Eq>(t: &T) -> bool { t == &T::DEFAULT }
+
 #[derive(Debug)]
 pub struct AnyhowDisplay<'a>(pub &'a anyhow::Error);
 impl Display for AnyhowDisplay<'_> {