From: Ian Jackson Date: Mon, 18 Apr 2022 10:42:26 +0000 (+0100) Subject: Provide is_default() function X-Git-Tag: otter-1.1.0~480 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=020084509d497b32c323f3bd800a9b204c2ca125;p=otter.git Provide is_default() function We're going to use this to elide some fields from the game save state. Signed-off-by: Ian Jackson --- diff --git a/Cargo.lock b/Cargo.lock index 1389d223..cec429b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2648,6 +2648,7 @@ dependencies = [ "chrono", "chrono-tz", "console", + "const-default", "crossbeam-utils", "delegate", "derive-into-owned", diff --git a/Cargo.toml b/Cargo.toml index 548889a5..ab5799d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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"] } diff --git a/cli/otter.rs b/cli/otter.rs index 0c9ada05..89657b9a 100644 --- a/cli/otter.rs +++ b/cli/otter.rs @@ -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::*; diff --git a/src/prelude.rs b/src/prelude.rs index 05de7123..f62e4ba7 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -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::*; diff --git a/src/utils.rs b/src/utils.rs index c04918b1..f12ec31f 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -622,6 +622,8 @@ impl IndexVec where I: index_vec::Idx { } } +pub fn is_default(t: &T) -> bool { t == &T::DEFAULT } + #[derive(Debug)] pub struct AnyhowDisplay<'a>(pub &'a anyhow::Error); impl Display for AnyhowDisplay<'_> {