Можно ли избежать такой конструкции?

Есть некая структура m, для нее и ссылки на нее реализуются арифмитические операции.
Можно ли избежать такого:
let a = m::new(...);
let b = m::new(...);
let c = &a + &(&a + &b);

То есть чтобы не писать ссылки, но при этом не перемещалось и не копировалось.
let c = a + (a + b); //Без перемещений
  • Вопрос задан
  • 279 просмотров
Решения вопроса 1
vabka
@vabka Куратор тега Rust
Чтобы было чуть проще, тебе нужно реализовать оператор для:
1. m + m
2. &m + &m
3. m + &m
4. &m + m

https://stackoverflow.com/questions/38811387/how-t...

Но совсем избавиться от & не получится - компилятор в любом случае должен знать, когда ты хочешь копирование/move, а когда ты хочешь заимствовать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы