Use derive_more to derive AsRef.
This commit is contained in:
parent
5233d35223
commit
df3c51c8a0
|
@ -3399,6 +3399,7 @@ name = "tor-guardmgr"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"derive_builder",
|
"derive_builder",
|
||||||
|
"derive_more",
|
||||||
"educe",
|
"educe",
|
||||||
"futures",
|
"futures",
|
||||||
"humantime-serde",
|
"humantime-serde",
|
||||||
|
|
|
@ -30,6 +30,7 @@ tor-rtcompat = { path = "../tor-rtcompat", version = "0.1.0" }
|
||||||
tor-units = { path = "../tor-units", version = "0.1.0" }
|
tor-units = { path = "../tor-units", version = "0.1.0" }
|
||||||
|
|
||||||
derive_builder = "0.11"
|
derive_builder = "0.11"
|
||||||
|
derive_more = "0.99"
|
||||||
educe = "0.4.6"
|
educe = "0.4.6"
|
||||||
futures = "0.3.14"
|
futures = "0.3.14"
|
||||||
humantime-serde = "1.1.1"
|
humantime-serde = "1.1.1"
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
//! Identifier objects used to specify guards and/or fallbacks.
|
//! Identifier objects used to specify guards and/or fallbacks.
|
||||||
|
|
||||||
|
use derive_more::AsRef;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use tor_llcrypto::pk;
|
use tor_llcrypto::pk;
|
||||||
|
|
||||||
|
@ -16,7 +17,7 @@ pub(crate) struct IdPair {
|
||||||
///
|
///
|
||||||
/// This is a separate type from GuardId and FirstHopId to avoid confusion
|
/// This is a separate type from GuardId and FirstHopId to avoid confusion
|
||||||
/// about what kind of object we're identifying.
|
/// about what kind of object we're identifying.
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)]
|
#[derive(Clone, Debug, Eq, PartialEq, Hash, Ord, PartialOrd, AsRef)]
|
||||||
pub(crate) struct FallbackId(pub(crate) IdPair);
|
pub(crate) struct FallbackId(pub(crate) IdPair);
|
||||||
|
|
||||||
impl FallbackId {
|
impl FallbackId {
|
||||||
|
@ -29,17 +30,12 @@ impl FallbackId {
|
||||||
Self::new(*target.ed_identity(), *target.rsa_identity())
|
Self::new(*target.ed_identity(), *target.rsa_identity())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
impl AsRef<IdPair> for FallbackId {
|
|
||||||
fn as_ref(&self) -> &IdPair {
|
|
||||||
&self.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// An identifier for a sampled guard.
|
/// An identifier for a sampled guard.
|
||||||
///
|
///
|
||||||
/// This is a separate type from GuardId and FirstHopId to avoid confusion
|
/// This is a separate type from GuardId and FirstHopId to avoid confusion
|
||||||
/// about what kind of object we're identifying.
|
/// about what kind of object we're identifying.
|
||||||
#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq, Hash, Ord, PartialOrd)]
|
#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq, Hash, Ord, PartialOrd, AsRef)]
|
||||||
#[serde(transparent)]
|
#[serde(transparent)]
|
||||||
pub(crate) struct GuardId(pub(crate) IdPair);
|
pub(crate) struct GuardId(pub(crate) IdPair);
|
||||||
|
|
||||||
|
@ -53,11 +49,6 @@ impl GuardId {
|
||||||
Self::new(*target.ed_identity(), *target.rsa_identity())
|
Self::new(*target.ed_identity(), *target.rsa_identity())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
impl AsRef<IdPair> for GuardId {
|
|
||||||
fn as_ref(&self) -> &IdPair {
|
|
||||||
&self.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Implementation type held inside of FirstHopId.
|
/// Implementation type held inside of FirstHopId.
|
||||||
///
|
///
|
||||||
|
|
Loading…
Reference in New Issue