about summary refs log tree commit diff
path: root/src/libstd/vec.rs
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2013-09-09 19:32:56 -0700
committerErick Tryzelaar <erick.tryzelaar@gmail.com>2013-09-12 18:54:12 -0700
commit2bd87ad432901f3baeab2fc1f2aa8aa328f04ea7 (patch)
tree712f06f20a6c290b2ff258d95a3b167c49c87160 /src/libstd/vec.rs
parente6c11313c88574aa2500df2f76c5534fbc2e0512 (diff)
downloadrust-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.rs14
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() }