pub fn push(&mut self, elem: i32) {
        let node = Box::new(Node {
            elem: elem,
            next: mem::replace(&mut self.head, Link::Empty),
        });
        self.head = Link::More(node);
    }
//push is a non static method.
//Since it has self as an argument.
push is a non static method.
Since it has self as an argument.
push is a non static method . Since it has self as an argument .
pub fn push(&mut self, elem: i32) {
        let node = Box::new(Node {
            elem: elem,
            next: mem::replace(&mut self.head, Link::Empty),
        });
        self.head = Link::More(node);
    }
pub fn push ( & mut self , elem : i32 ) { let node = Box :: new ( Node { elem : elem , next : mem :: replace ( & mut self . head , Link :: Empty ) , } ) ; self . head = Link :: More ( node ) ; }
push is a non static method.
push is a non static method .
&mut self
elem
i32
&mut self
elem
i32