From 020084509d497b32c323f3bd800a9b204c2ca125 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 18 Apr 2022 11:42:26 +0100 Subject: [PATCH] Provide is_default() function We're going to use this to elide some fields from the game save state. Signed-off-by: Ian Jackson --- Cargo.lock | 1 + Cargo.toml | 1 + cli/otter.rs | 1 - src/prelude.rs | 1 + src/utils.rs | 2 ++ 5 files changed, 5 insertions(+), 1 deletion(-) 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<'_> { -- 2.30.2