77// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
88// option. This file may not be copied, modified, or distributed
99// except according to those terms.
10- //! A growable, owned vector
10+ //! An owned, growable vector.
1111
1212use cast:: { forget, transmute} ;
1313use clone:: Clone ;
@@ -30,18 +30,29 @@ use raw::Slice;
3030use slice:: { ImmutableEqVector , ImmutableVector , Items , MutItems , MutableVector } ;
3131use slice:: { MutableTotalOrdVector } ;
3232
33- /// An owned, growable vector
33+ /// An owned, growable vector.
3434///
35- /// `Vec<T>` is the replacement for the deprecated `~[T]` type. The API is
36- /// largely the same. The `vec!` macro is provided to make initialization
37- /// easier.
35+ /// # Examples
3836///
39- /// # Example
37+ /// ```rust
38+ /// # use std::vec::Vec;
39+ /// let mut vec = Vec::new();
40+ /// vec.push(1);
41+ /// vec.push(2);
42+ ///
43+ /// assert_eq!(vec.len(), 2);
44+ /// assert_eq!(vec.get(0), &1);
45+ ///
46+ /// assert_eq!(vec.pop(), Some(2));
47+ /// assert_eq!(vec.len(), 1);
48+ /// ```
49+ ///
50+ /// The `vec!` macro is provided to make initialization more convenient:
4051///
4152/// ```rust
4253/// let mut vec = vec!(1, 2, 3);
4354/// vec.push(4);
44- /// println!("{}" , vec); // prints [ 1, 2, 3, 4]
55+ /// assert_eq!(vec , vec!( 1, 2, 3, 4));
4556/// ```
4657#[ unsafe_no_drop_flag]
4758pub struct Vec < T > {
@@ -87,7 +98,6 @@ impl<T> Vec<T> {
8798 }
8899 }
89100
90-
91101 /// Creates and initializes a `Vec`.
92102 ///
93103 /// Creates a `Vec` of size `length` and initializes the elements to the
@@ -767,13 +777,13 @@ impl<T> Vec<T> {
767777 ///
768778 /// # Example
769779 /// ```rust
770- /// let mut v = ~[~ "foo", ~"bar", ~"baz", ~"qux"] ;
780+ /// let mut v = vec!(~ "foo", ~"bar", ~"baz", ~"qux") ;
771781 ///
772782 /// assert_eq!(v.swap_remove(1), Some(~"bar"));
773- /// assert_eq!(v, ~[~ "foo", ~"qux", ~"baz"] );
783+ /// assert_eq!(v, vec!(~ "foo", ~"qux", ~"baz") );
774784 ///
775785 /// assert_eq!(v.swap_remove(0), Some(~"foo"));
776- /// assert_eq!(v, ~[~ "baz", ~"qux"] );
786+ /// assert_eq!(v, vec!(~ "baz", ~"qux") );
777787 ///
778788 /// assert_eq!(v.swap_remove(2), None);
779789 /// ```
@@ -869,13 +879,13 @@ impl<T> Vec<T> {
869879 /// # Example
870880 ///
871881 /// ```rust
872- /// let mut v = ~[ 1, 2, 3] ;
882+ /// let mut v = vec!( 1, 2, 3) ;
873883 /// assert_eq!(v.remove(1), Some(2));
874- /// assert_eq!(v, ~[ 1, 3] );
884+ /// assert_eq!(v, vec!( 1, 3) );
875885 ///
876886 /// assert_eq!(v.remove(4), None);
877887 /// // v is unchanged:
878- /// assert_eq!(v, ~[ 1, 3] );
888+ /// assert_eq!(v, vec!( 1, 3) );
879889 /// ```
880890 pub fn remove ( & mut self , index : uint ) -> Option < T > {
881891 let len = self . len ( ) ;
0 commit comments