Устойчивый односвязный стек

Прекрасно, мы овладели искусством создания изменяемых односвязных стеков.

Давайте перейдём от единоличного владения к разделяемому владению, написав устойчивый неизменяемый односвязный список. Это именно тот список, который знают и любят функциональные программисты. Вы можете получить голову или хвост и поместить чью-то голову на чей-то ещё хвост... и... в принципе, это всё. Неизменяемость — охренительный наркотик.

В процессе мы, в основном, познакомимся с Rc и Arc, и это подготовит нас к следующему, кардинально отличному списку.

Создадим новый файл и назовём его third.rs:

// в lib.rs

pub mod first;
pub mod second;
pub mod third;

Пока никакой копи-пасты. Начнём с чистого листа.