From: Ian Jackson Date: Sat, 14 May 2022 19:41:45 +0000 (+0100) Subject: support: Move slotmap X-Git-Tag: otter-1.1.0~166 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=039e80e7fded4cf2fcc649f00aa5be991625fdd2;p=otter.git support: Move slotmap Signed-off-by: Ian Jackson --- diff --git a/Cargo.lock b/Cargo.lock index 61e09673..ddf6c4c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2707,7 +2707,6 @@ dependencies = [ "regex", "serde", "serde_with", - "slotmap-fork-otter", "structopt", "strum", "subtle", @@ -2839,6 +2838,7 @@ dependencies = [ "serde", "serde_with", "sha2 0.10.2", + "slotmap-fork-otter", "strum", "toml", "unicode-width", diff --git a/Cargo.toml b/Cargo.toml index b2d8854e..684dbe46 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -75,8 +75,6 @@ enum-map = { version="2" , features=["serde" ] } image = { version = "0.24", default-features=false, features=["jpeg","png"] } index_vec = { version="0.1.1", features=["serde" ] } -slotmap = { package="slotmap-fork-otter", version="1", git="https://github.com/ijackson/slotmap", branch="slotmap-fork-otter", features=["serde"] } - # Repeated in other Cargo.toml's because importing does not work properly fehler="1" num-traits="0.2" diff --git a/src/bin/slotmap-slot-idx-test.rs b/src/bin/slotmap-slot-idx-test.rs index 1f457227..7f8c5f03 100644 --- a/src/bin/slotmap-slot-idx-test.rs +++ b/src/bin/slotmap-slot-idx-test.rs @@ -8,7 +8,8 @@ // slotmap::Keydata::get_idx_version 3.259 3.185 3.220 // slotmap_slot_idx::KeyData::get_idx_version 3.724 3.750 3.665 -use otter::slotmap_slot_idx; +use otter_support::slotmap_slot_idx; +use otter_support::crates::slotmap; const BATCH: usize = 128; const ITERS: usize = 10*1024*1024; diff --git a/src/crates.rs b/src/crates.rs index c2b281b8..00f0b7ce 100644 --- a/src/crates.rs +++ b/src/crates.rs @@ -23,7 +23,6 @@ pub use libc; pub use once_cell; pub use ordered_float; pub use regex; -pub use slotmap; pub use tera; pub use uds; pub use vecdeque_stableix; diff --git a/src/hidden.rs b/src/hidden.rs index 15853ec8..3d18d23f 100644 --- a/src/hidden.rs +++ b/src/hidden.rs @@ -2,7 +2,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later // There is NO WARRANTY. -use crate::crates::*; use crate::prelude::*; #[path="vpid.rs"] mod vpid; diff --git a/src/imports.rs b/src/imports.rs index 969f7427..a05046cb 100644 --- a/src/imports.rs +++ b/src/imports.rs @@ -47,7 +47,6 @@ pub use percent_encoding::percent_decode_str; pub use percent_encoding::utf8_percent_encode; pub use percent_encoding::NON_ALPHANUMERIC; pub use regex::Regex; -pub use slotmap::{dense::DenseSlotMap, SparseSecondaryMap, Key as _}; pub use subtle::ConstantTimeEq; pub use tempfile::{self, NamedTempFile}; pub use tera::Tera; @@ -92,7 +91,6 @@ pub use crate::fastsplit::*; pub use crate::gamestate::*; pub use crate::global::*; pub use crate::hidden::*; -pub use crate::keydata::*; pub use crate::nwtemplates; pub use crate::materials_format; pub use crate::mgmtchannel::*; @@ -105,7 +103,6 @@ pub use crate::shapelib; pub use crate::shapelib::{CircleShape, RectShape}; pub use crate::shapelib::{ItemEnquiryData, LibraryEnquiryData}; pub use crate::shapelib::{LibraryLoadError}; -pub use crate::slotmap_slot_idx::*; pub use crate::spec::*; pub use crate::spec::piece_specs::{FaceColourSpecs, SimpleCommon}; pub use crate::updates::*; @@ -115,7 +112,6 @@ pub use crate::ui::*; pub use crate::gamestate::RefTraitObjectPieceTraitExt as _; pub use crate::fastsplit::RefTraitObjectPieceTraitExt as _; -pub type SecondarySlotMap = slotmap::secondary::SecondaryMap; pub type SvgData = Vec; pub type Colour = Html; diff --git a/src/lib.rs b/src/lib.rs index f5840005..f601e92d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -37,7 +37,6 @@ pub mod gamestate; pub mod global; pub mod hand; pub mod hidden; -pub mod keydata; pub mod mgmtchannel; pub mod nwtemplates; pub mod occultilks; @@ -53,4 +52,3 @@ pub mod utils; #[path = "materials-format.rs"] pub mod materials_format; #[path = "shapelib-toml.rs"] pub mod shapelib_toml; -#[path = "slotmap-slot-idx.rs"] pub mod slotmap_slot_idx; diff --git a/src/utils.rs b/src/utils.rs index f653cb8c..aea53ba2 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -324,6 +324,7 @@ macro_rules! entry_define_insert_remove { #[allow(non_snake_case)] mod $name_mod { use $crate::prelude::extend::ext; + use $crate::prelude::slotmap; use $entry as Entry; use Entry::{Occupied, Vacant}; #[ext(pub, name=EntryExt)] diff --git a/support/Cargo.toml b/support/Cargo.toml index 020763da..8fe39eab 100644 --- a/support/Cargo.toml +++ b/support/Cargo.toml @@ -52,6 +52,8 @@ unicode-width="0.1" flexi_logger = { version="0.22" , features=["specfile" ] } mio = { version="0.8", features=["os-ext", "os-poll" ] } +slotmap = { package="slotmap-fork-otter", version="1", git="https://github.com/ijackson/slotmap", branch="slotmap-fork-otter", features=["serde"] } + # Repeated in other Cargo.toml's because importing does not work properly num-traits="0.2" serde_with="1" diff --git a/support/crates.rs b/support/crates.rs index 32bcc0bf..1e077882 100644 --- a/support/crates.rs +++ b/support/crates.rs @@ -20,5 +20,6 @@ pub use pwd; pub use rand; pub use rmp_serde; pub use sha2; +pub use slotmap; pub use toml; pub use unicode_width; diff --git a/support/imports.rs b/support/imports.rs index 00198bba..60d03c72 100644 --- a/support/imports.rs +++ b/support/imports.rs @@ -55,6 +55,7 @@ pub use serde::{Deserializer, Serializer}; pub use serde_with::DeserializeFromStr; pub use serde_with::SerializeDisplay; pub use sha2::{Sha512, Sha512_256}; +pub use slotmap::{dense::DenseSlotMap, SparseSecondaryMap, Key as _}; pub use strum::{EnumCount, EnumDiscriminants}; pub use strum::{EnumString, EnumIter, EnumMessage, EnumProperty}; pub use strum::{AsRefStr, IntoEnumIterator, IntoStaticStr}; @@ -77,16 +78,19 @@ pub use crate::debugmutex::DebugIdentify; pub use crate::digestrw::{self, *}; pub use crate::fake_rng::*; pub use crate::fake_time::*; +pub use crate::keydata::*; pub use crate::packetframe::{FrameReader, FrameWriter, ReadFrame, WriteFrame}; pub use crate::packetframe::{ReadExt, ResponseWriter}; pub use crate::packetframe::{PacketFrameReadError, PacketFrameWriteError}; pub use crate::progress::{self, ProgressInfo, OriginatorExt as _}; +pub use crate::slotmap_slot_idx::*; pub use crate::support::*; pub use crate::termprogress; pub use crate::timedfd::*; pub use crate::toml_de; pub use crate::tz::*; +pub type SecondarySlotMap = slotmap::secondary::SecondaryMap; pub type StartupError = anyhow::Error; pub const MS: time::Duration = time::Duration::from_millis(1); diff --git a/src/keydata.rs b/support/keydata.rs similarity index 100% rename from src/keydata.rs rename to support/keydata.rs diff --git a/support/lib.rs b/support/lib.rs index c85885c1..6662f04e 100644 --- a/support/lib.rs +++ b/support/lib.rs @@ -11,6 +11,7 @@ pub mod childio; pub mod config; pub mod debugmutex; pub mod digestrw; +pub mod keydata; pub mod packetframe; pub mod progress; pub mod support; @@ -20,4 +21,5 @@ pub mod tz; #[path = "fake-rng.rs"] pub mod fake_rng; #[path = "fake-time.rs"] pub mod fake_time; +#[path = "slotmap-slot-idx.rs"] pub mod slotmap_slot_idx; #[path = "toml-de.rs"] pub mod toml_de; diff --git a/src/slotmap-slot-idx.rs b/support/slotmap-slot-idx.rs similarity index 100% rename from src/slotmap-slot-idx.rs rename to support/slotmap-slot-idx.rs