diff options
author | Ryan Leckey <leckey.ryan@gmail.com> | 2017-01-28 20:46:29 -0800 |
---|---|---|
committer | Ryan Leckey <leckey.ryan@gmail.com> | 2017-01-28 20:47:26 -0800 |
commit | 7d870758cbd9ad4181471ad40184d1bac1204e1e (patch) | |
tree | 5f84b003c3dfe4c65b5ed97cbce8de6b8f984c49 /src/file | |
parent | 0b3087a8cbe6c0b9428d33c3a2c92155a3bbc558 (diff) |
Use 'Cow' to remove unnecessary allocations
Diffstat (limited to 'src/file')
-rw-r--r-- | src/file/json.rs | 3 | ||||
-rw-r--r-- | src/file/toml.rs | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/file/json.rs b/src/file/json.rs index 05af065..165bdbe 100644 --- a/src/file/json.rs +++ b/src/file/json.rs @@ -2,6 +2,7 @@ use serde_json; use source::Source; use std::error::Error; +use std::borrow::Cow; use value::Value; pub struct Content { @@ -20,7 +21,7 @@ impl Content { fn from_json_value(value: &serde_json::Value) -> Option<Value> { match *value { - serde_json::Value::String(ref value) => Some(Value::String(value.clone())), + serde_json::Value::String(ref value) => Some(Value::String(Cow::Borrowed(value))), serde_json::Value::Number(ref value) => { if let Some(value) = value.as_i64() { diff --git a/src/file/toml.rs b/src/file/toml.rs index 9e4b170..2fd5bd3 100644 --- a/src/file/toml.rs +++ b/src/file/toml.rs @@ -1,5 +1,6 @@ use toml; use source::Source; +use std::borrow::Cow; use std::error::Error; use value::Value; @@ -21,7 +22,7 @@ impl Content { fn from_toml_value(value: &toml::Value) -> Option<Value> { match *value { - toml::Value::String(ref value) => Some(Value::String(value.clone())), + toml::Value::String(ref value) => Some(Value::String(Cow::Borrowed(value))), toml::Value::Float(value) => Some(Value::Float(value)), toml::Value::Integer(value) => Some(Value::Integer(value)), toml::Value::Boolean(value) => Some(Value::Boolean(value)), |