Size: a a a

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

2020 December 03

d

diabolo in Rust — русскоговорящее сообществo
а бегинерсы в описании чата
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
diabolo
это я читал, спасибо, но не всё нужно брать на веру, многое нужно а. проверять б. проверять на практике
Если номикон пишет тектом по экрану, что так делать нельзя, значит так делать нельзя.

Как минимум, это означает, что раст тебе не гарантирует ничего, когда ты берешь подобную ссылку. Это может никогда и не вызовет проблем, но вызвать может.

У нас тут прянято придерживаться документации, а не полагаться на детали текущей реализации. Как у вас там в С++ не знаю 🤷‍♂️
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Тебе дают безопасную абстракцию и надежный способ делать правильно — зачем выдумывать что-то, полагаясь на предположения?
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Я тоже так думал, но оказалось что ссылка в расте не должна указывать на неинициализированную память.

Память надо инициализировать по указателю и потом уже брать ссылку.

https://doc.rust-lang.org/nomicon/unchecked-uninit.html
> It is illegal to construct a reference to uninitialized data
по поводу данной вещи мне тоже известно:)
и это логично.

но я изворачивался/изворачиваюсь тупо через ManuallyDrop + ... страшного
(и тот вариант в книге, через ptr, не спорю лучше намного)
источник

d

diabolo in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Если номикон пишет тектом по экрану, что так делать нельзя, значит так делать нельзя.

Как минимум, это означает, что раст тебе не гарантирует ничего, когда ты берешь подобную ссылку. Это может никогда и не вызовет проблем, но вызвать может.

У нас тут прянято придерживаться документации, а не полагаться на детали текущей реализации. Как у вас там в С++ не знаю 🤷‍♂️
так, если у тебя подход к программированию именно такой, то я даже спорить не буду, всецело поддержу — ибо меньше фигни править самому придётся! 😉
источник

d

diabolo in Rust — русскоговорящее сообществo
я сишник, причём по самые гланды — каюсь
источник

YJ

Yo Jla in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Можешь добавить в первое сообщение, раз уж оно уже равно в закрепе висит?
я бы с удовольствием, но я его не могу редактировать. :(
могу сделать новый пост, чтобы весь список epub книг в него разместить
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
diabolo
так, если у тебя подход к программированию именно такой, то я даже спорить не буду, всецело поддержу — ибо меньше фигни править самому придётся! 😉
Я просто достаточно наловился багов в C++, которых наоставляли чрезвычайно уверенные в своем понимании кишок компилятора С++-ники.

Так что раст, который дает четкую методичку — это очень замечательно.

К тому же, ну вот что ты в конкретном случае выиграешь от того что будешь использовать мут ссылку?)
источник

d

diabolo in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Я просто достаточно наловился багов в C++, которых наоставляли чрезвычайно уверенные в своем понимании кишок компилятора С++-ники.

Так что раст, который дает четкую методичку — это очень замечательно.

К тому же, ну вот что ты в конкретном случае выиграешь от того что будешь использовать мут ссылку?)
ещё раз, я сишник, плюсы я никогда не любил и не люблю, иначе я бы на раст внимания и не обратил бы. и это оффтоп
источник

Jøhn Đøꝩsøn in Rust — русскоговорящее сообществo
Денис Котляров
по поводу данной вещи мне тоже известно:)
и это логично.

но я изворачивался/изворачиваюсь тупо через ManuallyDrop + ... страшного
(и тот вариант в книге, через ptr, не спорю лучше намного)
А manually drop это не изворачивание?
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
diabolo
ещё раз, я сишник, плюсы я никогда не любил и не люблю, иначе я бы на раст внимания и не обратил бы. и это оффтоп
Раст не сишка 🤷‍♂️
источник

S

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

S

ShaTie in Rust — русскоговорящее сообществo
Требуется создать сессию, для отправки будующих запросов, я отправляю форму с данными авторизации, в ответ сервер присылает токен в заголовках, я должен принять его и послать запрос на получение cookie и Tim?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
ЕМНИП, брать мут ссылку от неинициализированной памяти — UB
Используй MaybeUninit, к тому же
unitialized под капотом юзает MybeUninit
источник

d

diabolo in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Раст не сишка 🤷‍♂️
именно, чуть повыше уровень. ибо сишка это А и Б, а по факту просто облогороженный асм пдп11 и не спорь — это факт.
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
Jøhn Đøꝩsøn
А manually drop это не изворачивание?
ну суть в том, что потом уже после инициализации от Manu надо избавится:))) (по памяти это безопасно так как он zeroed, + transparent, а по расту это не очень красиво(+у людей возникают вопросы:) ))
источник

d

diabolo in Rust — русскоговорящее сообществo
Jøhn Đøꝩsøn
А manually drop это не изворачивание?
нет — это гарантии компилятора
источник

S

ShaTie in Rust — русскоговорящее сообществo
ShaTie
Требуется создать сессию, для отправки будующих запросов, я отправляю форму с данными авторизации, в ответ сервер присылает токен в заголовках, я должен принять его и послать запрос на получение cookie и Tim?
источник

S

ShaTie in Rust — русскоговорящее сообществo
Первый запрос я отправляю и получаю ответ, но как вытащить из него заголовки?
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
diabolo
именно, чуть повыше уровень. ибо сишка это А и Б, а по факту просто облогороженный асм пдп11 и не спорь — это факт.
Я и не собирался с этим спорить)
Мой поинт в том, что то как семантика сишки перенесется в рантайм чаще всего совершенно очевидно, и у сишки есть стандарт, на который можно опираться.
А у раста этого нет, и если авторы языка пишут, что брать растовые ссылки на uninit память может потенциально вызывать проблемы — я думаю, стоит прислушаться.
источник