Skip to content

Commit b82c5a3

Browse files
committed
Change Deref into AsRef for serialization
1 parent 36166e7 commit b82c5a3

3 files changed

Lines changed: 9 additions & 15 deletions

File tree

src/serde.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ impl Serialize for WitnessName {
5757
where
5858
S: Serializer,
5959
{
60-
serializer.serialize_str(self)
60+
serializer.serialize_str(self.as_ref())
6161
}
6262
}
6363

@@ -80,7 +80,7 @@ impl Serialize for Parameters {
8080
where
8181
S: Serializer,
8282
{
83-
let map_ref = &**self;
83+
let map_ref = self.as_ref();
8484
let mut map = serializer.serialize_map(Some(map_ref.len()))?;
8585
for (key, value) in map_ref {
8686
map.serialize_entry(key, value)?;
@@ -94,7 +94,7 @@ impl Serialize for WitnessTypes {
9494
where
9595
S: Serializer,
9696
{
97-
let map_ref = &**self;
97+
let map_ref = self.as_ref();
9898
let mut map = serializer.serialize_map(Some(map_ref.len()))?;
9999
for (key, value) in map_ref {
100100
map.serialize_entry(key, value)?;

src/str.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,8 @@ pub struct WitnessName(Arc<str>);
125125
wrapped_string!(WitnessName, "witness name");
126126
impl_arbitrary_lowercase_alpha!(WitnessName);
127127

128-
impl std::ops::Deref for WitnessName {
129-
type Target = str;
130-
131-
fn deref(&self) -> &Self::Target {
128+
impl AsRef<str> for WitnessName {
129+
fn as_ref(&self) -> &str {
132130
self.0.as_ref()
133131
}
134132
}

src/witness.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,8 @@ pub struct WitnessTypes(Arc<HashMap<WitnessName, ResolvedType>>);
9494

9595
impl_name_type_map!(WitnessTypes);
9696

97-
impl std::ops::Deref for WitnessTypes {
98-
type Target = HashMap<WitnessName, ResolvedType>;
99-
100-
fn deref(&self) -> &Self::Target {
97+
impl AsRef<HashMap<WitnessName, ResolvedType>> for WitnessTypes {
98+
fn as_ref(&self) -> &HashMap<WitnessName, ResolvedType> {
10199
self.0.as_ref()
102100
}
103101
}
@@ -159,10 +157,8 @@ pub struct Parameters(Arc<HashMap<WitnessName, ResolvedType>>);
159157

160158
impl_name_type_map!(Parameters);
161159

162-
impl std::ops::Deref for Parameters {
163-
type Target = HashMap<WitnessName, ResolvedType>;
164-
165-
fn deref(&self) -> &Self::Target {
160+
impl AsRef<HashMap<WitnessName, ResolvedType>> for Parameters {
161+
fn as_ref(&self) -> &HashMap<WitnessName, ResolvedType> {
166162
self.0.as_ref()
167163
}
168164
}

0 commit comments

Comments
 (0)