chiark / gitweb /
support: Move slotmap
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 14 May 2022 19:41:45 +0000 (20:41 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 14 May 2022 20:44:57 +0000 (21:44 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
14 files changed:
Cargo.lock
Cargo.toml
src/bin/slotmap-slot-idx-test.rs
src/crates.rs
src/hidden.rs
src/imports.rs
src/lib.rs
src/utils.rs
support/Cargo.toml
support/crates.rs
support/imports.rs
support/keydata.rs [moved from src/keydata.rs with 100% similarity]
support/lib.rs
support/slotmap-slot-idx.rs [moved from src/slotmap-slot-idx.rs with 100% similarity]

index 61e09673e3b9dc1f0834e1ed0602e154719dd77d..ddf6c4c94c48a1a7c5e3567f8ce57bbf86b66e89 100644 (file)
@@ -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",
index b2d8854ec6ff9a30cf8fd7e870c8bebf5b028dc5..684dbe46dd90e909ee00e8b8ccb1877fd4154172 100644 (file)
@@ -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"
index 1f4572271e946a0f60d0cf867e5f694256828628..7f8c5f03493e37b8916d48ad0ba33294f4a1ed74 100644 (file)
@@ -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;
index c2b281b88ed15a65925086835efa24876a661b51..00f0b7ce44bcaf7474e7cd5cfc252bc400cb95ea 100644 (file)
@@ -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;
index 15853ec8cf4072224705ed639269d1cc905edc87..3d18d23f127301e37118b8dce89b48b79da3397e 100644 (file)
@@ -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;
index 969f7427056f2c852d638e7f73401e83298638c1..a05046cbb969f81930e4133d05df09212eeee7cf 100644 (file)
@@ -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<K,V> = slotmap::secondary::SecondaryMap<K,V>;
 pub type SvgData = Vec<u8>;
 pub type Colour = Html;
 
index f5840005e06cfe605c149f9a797a27b7c7cbe42f..f601e92d4d6c4da6f75463766e3671d1cb5a9034 100644 (file)
@@ -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;
index f653cb8c1ffef5476e047d974f8a4446c2ec7969..aea53ba274beac682b936da21ca5adef3d7fba6e 100644 (file)
@@ -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)]
index 020763dae436bfe2bc08b46cd016555a53096469..8fe39eabff8aca303da8ea2805f735aa1c624bae 100644 (file)
@@ -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"
index 32bcc0bf06e3423457ced0d8552608e55a14f5d9..1e0778829841885ae0e900453c62cd2e14907bd4 100644 (file)
@@ -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;
index 00198bba7bfa41b5015de4da8607d03fdae8ea1a..60d03c7214d4a5bdd9542852cd9118d1372b1bb5 100644 (file)
@@ -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<K,V> = slotmap::secondary::SecondaryMap<K,V>;
 pub type StartupError = anyhow::Error;
 
 pub const MS: time::Duration = time::Duration::from_millis(1);
similarity index 100%
rename from src/keydata.rs
rename to support/keydata.rs
index c85885c18293b6a4051676627f8c828e24014a4f..6662f04e94d504c55268719b3a88a9514aff6ecc 100644 (file)
@@ -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;