Size: a a a

Rust — русскоговорящее сообществo

2020 September 04

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Tony 123
Откуда ты взял неинициализированные байты?
Можно быть уверенными, что эта концепция в модели памяти будет. Без нее вообще хрен что опишешь.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Например, без нее не получится запретить ветвление по *(malloc(1)) (типа чтение одного байта из кучи)
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
Mikail Bagishov
Можно быть уверенными, что эта концепция в модели памяти будет. Без нее вообще хрен что опишешь.
Нет, ты не понял. "Неинициализированные байты" это то что ты прочел из неинициализированной памяти просто?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Tony 123
Нет, ты не понял. "Неинициализированные байты" это то что ты прочел из неинициализированной памяти просто?
Я не уверен, есть ли формально понятие неинициализированной памяти, но по смыслу да
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
Mikail Bagishov
Я не уверен, есть ли формально понятие неинициализированной памяти, но по смыслу да
Тогда нет, решение есть, это UB. Это подпадает под producing an invalid value.
источник

EB

Eva Baka in Rust — русскоговорящее сообществo
нифига ребята книжек наверное умных начитались бросаются друг в друга заумными словечками без какого-либо смысла настаивая на своей точке зрения и не слушая другого
очень интересно спасибо ребята подчерпнул для себя много нового
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Tony 123
Тогда нет, решение есть, это UB. Это подпадает под producing an invalid value.
Ну так у чисел любой набор байтов валиден (C)

Почему бы это должно быть UB?
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
вафель 🧇
Ну так у чисел любой набор байтов валиден (C)

Почему бы это должно быть UB?
Потому что так решила команда Rust.
источник

V

Vladimir in Rust — русскоговорящее сообществo
Давайте в оффтопик, может?
источник

V

Vladimir in Rust — русскоговорящее сообществo
Со своими спецификациями
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Tony 123
Потому что так решила команда Rust.
В том то и дело что ещё не решила =)

Для этого и нужна модель памяти — чтобы с такими вопросами определиться
источник

EB

Eva Baka in Rust — русскоговорящее сообществo
а можно спецификацию чата а то не совсем ясно что тут и как какие кишки так сказать интерфейс задокументировать что пользователь будет видеть
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Tony 123
Тогда нет, решение есть, это UB. Это подпадает под producing an invalid value.
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
вафель 🧇
В том то и дело что ещё не решила =)

Для этого и нужна модель памяти — чтобы с такими вопросами определиться
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Понятно, что сейчас в документации везде описан самый консервативный вариант, то есть все серое объявлено UB.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
> (Notice that the rules around uninitialized integers are not finalized yet, but until they are, it is advisable to avoid them.)

https://doc.rust-lang.org/std/mem/union.MaybeUninit.html#initialization-invarianthttps://doc.rust-lang.org/std/mem/union.MaybeUninit.html#initialization-invariant
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Но в реальности есть желающие вот это вот UB доопределить.
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
вафель 🧇
> (Notice that the rules around uninitialized integers are not finalized yet, but until they are, it is advisable to avoid them.)

https://doc.rust-lang.org/std/mem/union.MaybeUninit.html#initialization-invarianthttps://doc.rust-lang.org/std/mem/union.MaybeUninit.html#initialization-invariant
Ну понятное дело этот вопрос обсуждается и будет обсуждаться, но пока валидное решение — UB.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Забавное расхождение в документации 🤔

Хотя опять же, на той же на той странице весит варнинг что формальной модели нет
источник