Я получаю ссылку на мутабельный экземпляр структуры. У структуры есть внутри три вектора — `prev`, `next` и `curr`.
На каждой итерации алгоритма `next` рассчитывается по `prev` и `curr`. Это интегрирование Верле, если что, но не важно.
Хочется не выделять память много раз, а просто держать их постоянно, циклически переставляя **ссылки** (а не данные, которых много, естественно) после каждой итерации: `prev <- curr <- next`, а `prev -> next`, чтобы не болтался.
Единственное, что я осилил сделать с ними, вот:
std::mem::swap(&mut self.curr, &mut self.next);
std::mem::swap(&mut self.prev, &mut self.next);
При попытке юзать `std::mem::replace` или рисваивать как-то руками, я жестоко обламываюсь. Т.е. взять эти самые три ссылки разом, запиать в три идентификатора и потом присвоить трём полям структуры — это уже я не осилил.
Как бороть?..