Устойчивый односвязный стек
Прекрасно, мы овладели искусством создания изменяемых односвязных стеков.
Давайте перейдём от единоличного владения к разделяемому владению, написав устойчивый неизменяемый односвязный список. Это именно тот список, который знают и любят функциональные программисты. Вы можете получить голову или хвост и поместить чью-то голову на чей-то ещё хвост... и... в принципе, это всё. Неизменяемость — охренительный наркотик.
В процессе мы, в основном, познакомимся с Rc и Arc, и это подготовит нас к следующему, кардинально отличному списку.
Создадим новый файл и назовём его third.rs:
// в lib.rs
pub mod first;
pub mod second;
pub mod third;
Пока никакой копи-пасты. Начнём с чистого листа.