Я только что понял что в Rust 2015 пакетов можно использовать 2018 зависимости, а не только наоборот из нового старое.
Нифига я пропустил “мелочь”, это же офигенно.
Он при использовании extern crate longlongname as name; без предупреждений везде импорты правит с use name; на use crate::name, запутывая все, потому что кажется что это внутренние импорты, а не внешние. Правильное решение тут - через сам Cargo.toml переименовать longlongname сразу в name и руками убрать лишние crate:: из путей;
Еще при использовании такого псевдонима:
pub type Cb<'c> = &'c mut dyn FnMut(&State, &Event, ApplyPhase);
cargo fix радостно расставляет везде лишний вывод ВЖ, который вообще не нужен: