From: Ian Jackson Date: Wed, 13 Jan 2021 18:19:50 +0000 (+0000) Subject: update to slotmap 1.x X-Git-Tag: otter-0.3.0~32 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=94177b3b3a1399aad280436b58130a218b898ff8;p=otter.git update to slotmap 1.x Signed-off-by: Ian Jackson --- diff --git a/Cargo.lock.example b/Cargo.lock.example index 3f149489..6bc4ddd0 100644 --- a/Cargo.lock.example +++ b/Cargo.lock.example @@ -2451,11 +2451,12 @@ checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" [[package]] name = "slotmap" -version = "0.4.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c46a3482db8f247956e464d783693ece164ca056e6e67563ee5505bdb86452cd" +checksum = "ab3003725ae562cf995f3dc82bb99e70926e09000396816765bb6d7adbe740b1" dependencies = [ "serde", + "version_check 0.9.2", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 42478d11..59f7679d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,7 +56,7 @@ rmp-serde = "0.15" serde = { version = "1", features = ["derive","rc"] } serde_json = "1" serde_with = "1" -slotmap = { version = "0.4", features = ['serde'] } +slotmap = { version = "1", features = ['serde'] } structopt = "0.3" strum = { version = "0.20", features = ['derive'] } thiserror = "1" diff --git a/daemon/Cargo.toml b/daemon/Cargo.toml index 38ab7809..b3c2e36a 100644 --- a/daemon/Cargo.toml +++ b/daemon/Cargo.toml @@ -55,7 +55,7 @@ rmp-serde = "0.15" serde = { version = "1", features = ["derive","rc"] } serde_json = "1" serde_with = "1" -slotmap = { version = "0.4", features = ['serde'] } +slotmap = { version = "1", features = ['serde'] } structopt = "0.3" strum = { version = "0.20", features = ['derive'] } thiserror = "1" diff --git a/src/gamestate.rs b/src/gamestate.rs index 051b2086..6c1e941b 100644 --- a/src/gamestate.rs +++ b/src/gamestate.rs @@ -343,7 +343,7 @@ impl GameState { pub fn make_pieceid_visible(p: PieceId) -> VisiblePieceId { // todo-lens need to do censorship mapping here - let kd: slotmap::KeyData = p.into(); + let kd: slotmap::KeyData = p.data(); VisiblePieceId(kd) } diff --git a/src/imports.rs b/src/imports.rs index 1969e416..7fe307b3 100644 --- a/src/imports.rs +++ b/src/imports.rs @@ -71,7 +71,7 @@ pub use serde::{de::DeserializeOwned, Deserialize, Serialize}; pub use serde::{Deserializer, Serializer}; pub use serde_with::DeserializeFromStr; pub use serde_with::SerializeDisplay; -pub use slotmap::dense::DenseSlotMap; +pub use slotmap::{dense::DenseSlotMap, Key as _}; pub use strum::EnumString; pub use thiserror::Error; pub use url::Url; diff --git a/src/keydata.rs b/src/keydata.rs index 86dd7e30..0853e278 100644 --- a/src/keydata.rs +++ b/src/keydata.rs @@ -64,7 +64,9 @@ macro_rules! visible_slotmap_key { fn try_from(s: String) -> $x { $x(slotkey_parse(&s,$sep)?) } } - impl slotmap::Key for $x { } + impl slotmap::Key for $x { + fn data(&self) -> slotmap::KeyData { self.0 } + } impl From for $x { fn from(d : slotmap::KeyData) -> Self { $x(d) } } diff --git a/src/lens.rs b/src/lens.rs index c42c24d4..cd6fdae1 100644 --- a/src/lens.rs +++ b/src/lens.rs @@ -21,7 +21,7 @@ pub struct TransparentLens { } impl Lens for TransparentLens { fn pieceid2visible(&self, piece: PieceId) -> VisiblePieceId { - let kd : slotmap::KeyData = piece.into(); + let kd : slotmap::KeyData = piece.data(); VisiblePieceId(kd) } fn log_pri(&self, piece: PieceId, pc: &PieceState)