плох?
Он хорош. Но требует, чтобы T реализовывал Default.
Ничем. mem::take() - это тот же самый mem::replace(), просто T: Default и внутри эта штука делает { let mut tmp = T::default(); mem::replace(t, &mut tmp); tmp }
Обсуждают сегодня