From: Ian Jackson Date: Sun, 31 Jan 2021 23:47:41 +0000 (+0000) Subject: move our default() into zcoord::misc and use it everywhere X-Git-Tag: otter-0.4.0~574 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=cfd719c06ccf05d5c32dc80b55a980bbb955d696;p=otter.git move our default() into zcoord::misc and use it everywhere Signed-off-by: Ian Jackson --- diff --git a/src/imports.rs b/src/imports.rs index 467fe9e6..88c80740 100644 --- a/src/imports.rs +++ b/src/imports.rs @@ -77,6 +77,7 @@ pub use thiserror::Error; pub use url::Url; pub use vecdeque_stableix::Deque as StableIndexVecDeque; pub use zcoord::{self, ZCoord}; +pub use zcoord::misc::default; pub use crate::from_instance_lock_error; @@ -109,8 +110,6 @@ pub type SecondarySlotMap = slotmap::secondary::SecondaryMap; pub type SvgData = Vec; pub type Colour = Html; -pub fn default() -> T { Default::default() } - #[derive(Debug,Copy,Clone)] pub enum Impossible { } display_as_debug!(Impossible); diff --git a/src/slotmap-slot-idx.rs b/src/slotmap-slot-idx.rs index d571f6e0..fdaf9a14 100644 --- a/src/slotmap-slot-idx.rs +++ b/src/slotmap-slot-idx.rs @@ -7,6 +7,8 @@ //! Provides a [`get_idx_key`](trait.KeyDataExt.html#tymethod.get_idx_version) method on //! `slotmap::KeyData`. See [KeyDataExt::get_idx_version]. +use zcoord::misc::default; + /// Extension trait for `slotmap::KeyData`, providing `get_idx_version`. /// /// No-one is expected to implement this trait for anything else. @@ -47,7 +49,7 @@ impl KeyDataExt for slotmap::KeyData { /// representation has changed too much. Should not be able to fail /// otherwise. pub fn keydata_extract(key: slotmap::KeyData) -> Result<(u32, u32), Error> { - let mut m: MainExtractor = Default::default(); + let mut m: MainExtractor = default(); key.serialize(&mut m)?; Ok(( m.idx .ok_or(error(line!()))?, m.version.ok_or(error(line!()))? )) diff --git a/wasm/wasm.rs b/wasm/wasm.rs index 6499ce75..e6142d4c 100644 --- a/wasm/wasm.rs +++ b/wasm/wasm.rs @@ -10,6 +10,7 @@ use thiserror::Error; use wasm_bindgen::prelude::*; use zcoord::{Mutable,ZCoord}; +use zcoord::misc::default; #[derive(Error,Clone,Copy,Debug,Eq,PartialEq)] #[error("packed Z coordinate wrong JS type (not a string)")] @@ -54,7 +55,7 @@ pub fn increment(packed: &JsValue) -> JsValue { #[wasm_bindgen] pub fn def_zcoord() -> JsValue { - let z: ZCoord = Default::default(); + let z: ZCoord = default(); z.to_string().into() } diff --git a/zcoord/misc.rs b/zcoord/misc.rs index 31065c29..e2d170dd 100644 --- a/zcoord/misc.rs +++ b/zcoord/misc.rs @@ -27,6 +27,8 @@ pub fn timestring_abbreviate<'x>(base: &str, this: &'x str) pub fn raw_angle_transform(compass: u8) -> String { assert!(compass < 8); - if compass == 0 { Default::default() } + if compass == 0 { default() } else { format!("rotate({})", -45 * (compass as i16)) } } + +pub fn default() -> T { Default::default() } diff --git a/zcoord/zcoord.rs b/zcoord/zcoord.rs index b970585c..5224a751 100644 --- a/zcoord/zcoord.rs +++ b/zcoord/zcoord.rs @@ -821,7 +821,7 @@ mod test { fn tinc(self, e: &str) -> Self { self.tincdec(e, Increment, Greater) } fn tdec(self, e: &str) -> Self { self.tincdec(e, Decrement, Less) } } - let start: ZCoord = Default::default(); + let start: ZCoord = default(); assert_eq!(format!("{}", &start), "g000000000"); start.clone_mut() .tinc("g001000000");