diff --git a/src/ext/json.rs b/src/ext/json.rs index e7caaf2..ba3a054 100644 --- a/src/ext/json.rs +++ b/src/ext/json.rs @@ -10,12 +10,6 @@ impl ToJson for &str { } } -impl ToJson for &String { - fn to_json(&self) -> Option { - Some(JsonValue::String((*self).to_string())) - } -} - impl ToJson for String { fn to_json(&self) -> Option { Some(JsonValue::String(self.to_string())) @@ -28,9 +22,9 @@ impl ToJson for JsonValue { } } -impl ToJson for &JsonValue { +impl ToJson for &T { fn to_json(&self) -> Option { - Some((*self).clone()) + (*self).to_json() } } diff --git a/src/pixiv_link.rs b/src/pixiv_link.rs index 7f706ce..70c9424 100644 --- a/src/pixiv_link.rs +++ b/src/pixiv_link.rs @@ -58,9 +58,9 @@ impl ToJson for PixivID { } } -impl ToPixivID for &PixivID { +impl ToPixivID for PixivID { fn to_pixiv_id(&self) -> Option { - Some((*self).clone()) + Some(self.clone()) } } @@ -82,6 +82,12 @@ impl ToPixivID for u64 { } } +impl ToPixivID for &T { + fn to_pixiv_id(&self) -> Option { + (*self).to_pixiv_id() + } +} + impl TryInto for PixivID { type Error = (); fn try_into(self) -> Result {