Ошибка компиляции при попытке использовать оператор увеличения

#rust

#Ржавчина

Вопрос:

Во время работы над побочным проектом я пытался использовать оператор увеличения следующим образом:

 fn main() {
    let mut my_var = 5;
    my_var  ;
}
  

и получил следующую ошибку:

 error: expected expression, found ` `
 --> srcmain.rs:3:12
  |
3 |     my_var  ;
  |            ^
  

Что не так с моим кодом?

Комментарии:

1. Этот вопрос буквально содержится в FAQ на веб-сайте Rust:/.

2. @kirelagin Да, но, учитывая приведенную выше ошибку компиляции, как я должен был это знать? Мне потребовалось некоторое время, чтобы найти, и я верю, что найдутся другие, которые будут искать подобное сообщение об ошибке.

Ответ №1:

Операторы увеличения ( ) и уменьшения (—) не поддерживаются в Rust.

Из часто задаваемых вопросов Rust:

Почему в Rust нет операторов увеличения и уменьшения?
Предварительные и последующие инкременты (и эквиваленты декремента), хотя и удобны, также довольно сложны. Они требуют знания порядка вычисления и часто приводят к незначительным ошибкам и неопределенному поведению в C и C . x = x 1 or x = 1 лишь немного длиннее, но однозначен.

Комментарии:

1. Может быть, это новый вопрос, почему в Rust нет операторов увеличения и уменьшения?