diff options
| author | Aaronepower <theaaronepower@gmail.com> | 2016-06-16 14:44:56 +0100 |
|---|---|---|
| committer | Aaronepower <theaaronepower@gmail.com> | 2016-06-23 07:05:16 +0100 |
| commit | 703d7b519e69daf03e34edcd1af2957e393414b5 (patch) | |
| tree | 23129a0d2e5cd8407bc14fd0bb5f5d22563fe1b3 | |
| parent | a479a6a7a6fa1bfe1f18d7d7411ad14e7b8ca17b (diff) | |
| download | rust-703d7b519e69daf03e34edcd1af2957e393414b5.tar.gz rust-703d7b519e69daf03e34edcd1af2957e393414b5.zip | |
Added Default trait for Cow
| -rw-r--r-- | src/libcollections/borrow.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libcollections/borrow.rs b/src/libcollections/borrow.rs index 6ca0db68a88..37dbeb4eae1 100644 --- a/src/libcollections/borrow.rs +++ b/src/libcollections/borrow.rs @@ -15,6 +15,7 @@ use core::clone::Clone; use core::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; use core::convert::AsRef; +use core::default::Default; use core::hash::{Hash, Hasher}; use core::marker::Sized; use core::ops::Deref; @@ -248,6 +249,16 @@ impl<'a, B: ?Sized> fmt::Display for Cow<'a, B> } } +#[stable(feature = "default", since = "1.11.0")] +impl<'a, B: ?Sized> Default for Cow<'a, B> + where B: ToOwned, + <B as ToOwned>::Owned: Default +{ + fn default() -> Cow<'a, B> { + Owned(<B as ToOwned>::Owned::default()) + } +} + #[stable(feature = "rust1", since = "1.0.0")] impl<'a, B: ?Sized> Hash for Cow<'a, B> where B: Hash + ToOwned { #[inline] |
