Кмк в расте есть три вехи, которые надо преодолеть и после этого он становится таким же послушным, как и среднестатистический язык:
1. лайфтаймы и заимствования, понимание того, что вместо протягивания многочисленных щупалец (указателей) во все уголки памяти лишние запутывающиеся можно обрезать простым вызовом clone()
. Небольшой опыт с Rc/Arc/Cell/RefCell.
2. Fn/FnOnce/FnMut, когда и что писать особенно в дженерик коде, написание кода полиморфного относительно мутабельности (когда это возможно), тут сразу вылезет и HRTB.
3. Pin
, зачем он нужен и что можно с ним делать, и наконец async.
Имхо, Станислав прыгнул сразу на третью ступеньку, ясно что это сопровождается болью в заднице и непониманием.