Хороший односвязный стек
В прошлой главе мы написали минимальный жизнеспособный односвязный стек. Правда, было несколько проектных решений, которые сделали его довольно отстойным. Предлагаю сделать его не таким отстойным, а для этого:
- Переизобрести велосипед
- Сделать наш список способным содержать элементы любого типа
- Добавить метод
peek - Реализовать итератор
В процессе мы узнаем о:
- Продвинутом использовании Option
- Обобщениях
- Времени жизни
- Итераторах
Для начала создадим новый файл second.rs:
// в lib.rs
pub mod first;
pub mod second;
И скопируем в него содержимое first.rs.