From a9929249ebd9f7e1fc297a915bc507de6967b2a9 Mon Sep 17 00:00:00 2001 From: Richard Newman Date: Wed, 1 Feb 2017 17:46:07 -0800 Subject: [PATCH] Use Into> trick for to_keyword and to_symbol. --- edn/src/types.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/edn/src/types.rs b/edn/src/types.rs index dbfad2d2..47e4d8b3 100644 --- a/edn/src/types.rs +++ b/edn/src/types.rs @@ -198,15 +198,15 @@ fn to_ord(value: &Value) -> i32 { pub struct Pair(Value, Value); -pub fn to_symbol(namespace: Option<&str>, name: &str) -> Value { - if let Some(ns) = namespace { +pub fn to_symbol<'a, T: Into>>(namespace: T, name: &str) -> Value { + if let Some(ns) = namespace.into() { return Value::NamespacedSymbol(symbols::NamespacedSymbol::new(ns, name)); } return Value::PlainSymbol(symbols::PlainSymbol::new(name)); } -pub fn to_keyword(namespace: Option<&str>, name: &str) -> Value { - if let Some(ns) = namespace { +pub fn to_keyword<'a, T: Into>>(namespace: T, name: &str) -> Value { + if let Some(ns) = namespace.into() { return Value::NamespacedKeyword(symbols::NamespacedKeyword::new(ns, name)); } return Value::Keyword(symbols::Keyword::new(name));