diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-09-09 19:32:56 -0700 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-09-12 18:54:12 -0700 |
| commit | 2bd87ad432901f3baeab2fc1f2aa8aa328f04ea7 (patch) | |
| tree | 712f06f20a6c290b2ff258d95a3b167c49c87160 /src/libstd/vec.rs | |
| parent | e6c11313c88574aa2500df2f76c5534fbc2e0512 (diff) | |
| download | rust-2bd87ad432901f3baeab2fc1f2aa8aa328f04ea7.tar.gz rust-2bd87ad432901f3baeab2fc1f2aa8aa328f04ea7.zip | |
std: Add Default implementation for vecs
Diffstat (limited to 'src/libstd/vec.rs')
| -rw-r--r-- | src/libstd/vec.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs index 55b8e3769ea..b91384f0ba5 100644 --- a/src/libstd/vec.rs +++ b/src/libstd/vec.rs @@ -104,6 +104,7 @@ use clone::{Clone, DeepClone}; use container::{Container, Mutable}; use cmp::{Eq, TotalOrd, Ordering, Less, Equal, Greater}; use cmp; +use default::Default; use iter::*; use libc::c_void; use num::{Integer, Zero, CheckedAdd, Saturating}; @@ -2237,6 +2238,19 @@ impl<A: DeepClone> DeepClone for ~[A] { } // This works because every lifetime is a sub-lifetime of 'static +impl<'self, A> Default for &'self [A] { + fn default() -> &'self [A] { &'self [] } +} + +impl<A> Default for ~[A] { + fn default() -> ~[A] { ~[] } +} + +impl<A> Default for @[A] { + fn default() -> @[A] { @[] } +} + +// This works because every lifetime is a sub-lifetime of 'static impl<'self, A> Zero for &'self [A] { fn zero() -> &'self [A] { &'self [] } fn is_zero(&self) -> bool { self.is_empty() } |
