/// Constructs a new list with one more element.
///
/// The old list was not mutated in any way and it's still
/// accessible. When this new list is dropped, the old one will
/// remain as long as there are remaining references to it.
Constructs a new list with one more element.
The old list was not mutated in any way and it's still
accessible. When this new list is dropped, the old one will
remain as long as there are remaining references to it.
Constructs a new list with one more element . The old list was not mutated in any way and it ' s still accessible . When this new list is dropped the old one will remain as long as there are remaining references to it .
pub fn cons(&self, t: T) -> SharedList<T> {
	SharedList(
            Rc::new(
                SharedListP::<T>::Cons(
                    t,
                    SharedList(self.0.clone())
                )
            )
        )
    }
pub fn cons ( & self , t : T ) -> SharedList < T > { SharedList ( Rc :: new ( SharedListP :: < T > :: Cons ( t , SharedList ( self . 0 . clone ( ) ) ) ) ) }
Constructs a new list with one more element.
Constructs a new list with one more element .
&self
t
T