diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-06-29 00:39:49 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-06-29 00:39:54 +0000 |
| commit | a77a17963741d50ef992faf09dee6020aacfd0e6 (patch) | |
| tree | 073aeb07cc569270ea02b106d7a8df7cdb831d40 | |
| parent | 2fda7d4a514cb5381a70ac279faff53bed22e395 (diff) | |
| parent | 703d7b519e69daf03e34edcd1af2957e393414b5 (diff) | |
| download | rust-a77a17963741d50ef992faf09dee6020aacfd0e6.tar.gz rust-a77a17963741d50ef992faf09dee6020aacfd0e6.zip | |
Rollup merge of #34305 - Aaronepower:master, r=alexcrichton
Added Default trait for Cow. Adds a default implementation for Cow. Which is the Owned's default.
| -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] |
