From 0e8c31ae397fa2485c244802fe225865cf603a6c Mon Sep 17 00:00:00 2001 From: Lorenzo Villani Date: Sat, 4 Feb 2017 18:38:08 +0100 Subject: [PATCH] Derive Eq and Hash for Serde and add SerdeUrl type alias. --- url_serde/src/lib.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/url_serde/src/lib.rs b/url_serde/src/lib.rs index bbd31acd..f0a0feb9 100644 --- a/url_serde/src/lib.rs +++ b/url_serde/src/lib.rs @@ -53,6 +53,7 @@ extern crate url; use std::cmp::PartialEq; use std::fmt; +use std::hash::{Hash, Hasher}; use std::ops::{Deref, DerefMut}; use std::error::Error; use serde::{Deserialize, Serialize, Serializer, Deserializer}; @@ -135,11 +136,14 @@ impl Deserialize for De { /// A convenience wrapper to be used as a type parameter, for example when -/// a `Vec` need to be passed to serde. -#[derive(Clone, PartialEq)] +/// a `Vec` or an `HashMap` need to be passed to serde. +#[derive(Clone, Eq, Hash, PartialEq)] pub struct Serde(pub T) where De: Deserialize, for<'a> Ser<'a, T>: Serialize; +/// A convenience type alias for Serde. +pub type SerdeUrl = Serde; + impl Serde where De: Deserialize, for<'a> Ser<'a, T>: Serialize {