169 похожих чатов

@Ishanjain28 are you familiar with references and borrowing chapter from

the documentation available at rustup doc --book? I'm having a bit of trouble understanding what

// r1 and r2 are no longer used after this point

means in their example snippet (https://del.dog/cemuhuzuta) since I can still access the values

1 ответов

18 просмотров

Before the Non-lexical lifetimes were introduced in rust, That code would not have compiled in the first place. Since, the scope of r1, r2 and r3 has the same scope and you are not allowed to have immutable reference if you also have a mutable reference. But after the Non-lexical lifetimes were introduced, The compiler got a bit smarter. It checks the code and finds out, r1,r2 and r3 have the same scope but r1 and r2 are not used after r3 has been created, So, The program is not violating the law. i.e. holding a mutable reference while it has a immutable reference. So, It allows the code to be compiled. If you try to access r1 or r2 after r3 has been created, The program will fail to compile and give you the exact reason for why that happened. Try adding println!("{}", r1); after r3 was created.

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта