diff --git a/src/libstd/vec_ng.rs b/src/libstd/vec_ng.rs
index 04e3ad920ec75..5e4b101f0b005 100644
--- a/src/libstd/vec_ng.rs
+++ b/src/libstd/vec_ng.rs
@@ -7,7 +7,7 @@
 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
-//! A growable, owned vector
+//! An owned, growable vector.
 
 use cast::{forget, transmute};
 use clone::Clone;
@@ -30,18 +30,29 @@ use raw::Slice;
 use vec::{ImmutableEqVector, ImmutableVector, Items, MutItems, MutableVector};
 use vec::{MutableTotalOrdVector};
 
-/// An owned, growable vector
+/// An owned, growable vector.
 ///
-/// `Vec<T>` is the replacement for the deprecated `~[T]` type. The API is
-/// largely the same. The `vec!` macro is provided to make initialization
-/// easier.
+/// # Examples
 ///
-/// # Example
+/// ```rust
+/// # use std::vec_ng::Vec;
+/// let mut vec = Vec::new();
+/// vec.push(1);
+/// vec.push(2);
+///
+/// assert_eq!(vec.len(), 2);
+/// assert_eq!(vec.get(0), &1);
+///
+/// assert_eq!(vec.pop(), Some(2));
+/// assert_eq!(vec.len(), 1);
+/// ```
+///
+/// The `vec!` macro is provided to make initialization more convenient:
 ///
 /// ```rust
 /// let mut vec = vec!(1, 2, 3);
 /// vec.push(4);
-/// println!("{}", vec); // prints [1, 2, 3, 4]
+/// assert_eq!(vec, vec!(1, 2, 3, 4));
 /// ```
 #[unsafe_no_drop_flag]
 pub struct Vec<T> {
@@ -87,7 +98,6 @@ impl<T> Vec<T> {
         }
     }
 
-
     /// Creates and initializes a `Vec`.
     ///
     /// Creates a `Vec` of size `length` and initializes the elements to the
@@ -767,13 +777,13 @@ impl<T> Vec<T> {
     ///
     /// # Example
     /// ```rust
-    /// let mut v = ~[~"foo", ~"bar", ~"baz", ~"qux"];
+    /// let mut v = vec!(~"foo", ~"bar", ~"baz", ~"qux");
     ///
     /// assert_eq!(v.swap_remove(1), Some(~"bar"));
-    /// assert_eq!(v, ~[~"foo", ~"qux", ~"baz"]);
+    /// assert_eq!(v, vec!(~"foo", ~"qux", ~"baz"));
     ///
     /// assert_eq!(v.swap_remove(0), Some(~"foo"));
-    /// assert_eq!(v, ~[~"baz", ~"qux"]);
+    /// assert_eq!(v, vec!(~"baz", ~"qux"));
     ///
     /// assert_eq!(v.swap_remove(2), None);
     /// ```
@@ -869,13 +879,13 @@ impl<T> Vec<T> {
     /// # Example
     ///
     /// ```rust
-    /// let mut v = ~[1, 2, 3];
+    /// let mut v = vec!(1, 2, 3);
     /// assert_eq!(v.remove(1), Some(2));
-    /// assert_eq!(v, ~[1, 3]);
+    /// assert_eq!(v, vec!(1, 3));
     ///
     /// assert_eq!(v.remove(4), None);
     /// // v is unchanged:
-    /// assert_eq!(v, ~[1, 3]);
+    /// assert_eq!(v, vec!(1, 3));
     /// ```
     pub fn remove(&mut self, index: uint) -> Option<T> {
         let len = self.len();