fn len(&self) -> u32 {
        match *self {
            // Note: interesting point from the book:
            // Can't take ownership of the tail, because `self` is borrowed;
            // instead take a reference to the tail
            Cons(_, ref tail) => 1 + tail.len(),
            Nil => 0,
        }
    }
// len: get the length of the list
get the length of the list
get the length of the list
fn len(&self) -> u32 {
        match *self {
            // Note: interesting point from the book:
            // Can't take ownership of the tail, because `self` is borrowed;
            // instead take a reference to the tail
            Cons(_, ref tail) => 1 + tail.len(),
            Nil => 0,
        }
    }
fn len ( & self ) -> u32 { match * self { // Note: interesting point from the book: // Can't take ownership of the tail, because `self` is borrowed; // instead take a reference to the tail Cons ( _ , ref tail ) => 1 + tail . len ( ) , Nil => 0 , } }
len: get the length of the list
len : get the length of the list
&self
&self