Size: a a a

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

2020 December 03

A

Adv0cat in Rust — русскоговорящее сообществo
👌 класные мувы подоюавляли, как раз не хватало)
источник

MF

Max Frai in Rust — русскоговорящее сообществo
Есть цепочка вызовов над итератором вектора:
data.iter().filter(|a, b| …).take(10).collect()
Как применять этот filter в зависимости от условия? Т.е. если условие true, то применять filter, если false, то не включать filter в цепочку
источник

MF

Max Frai in Rust — русскоговорящее сообществo
Пытаюсь сделать что-то такое, но непонятно как
let iter = data.iter();
let iter2 = if something {
  iter.filter(….)
} else {
  ???
};
iter2.take(10).collect();
источник

K

Kitsu in Rust — русскоговорящее сообществo
Max Frai
Есть цепочка вызовов над итератором вектора:
data.iter().filter(|a, b| …).take(10).collect()
Как применять этот filter в зависимости от условия? Т.е. если условие true, то применять filter, если false, то не включать filter в цепочку
можно просто всегда применять фильтр и свой предикат всунуть внутрь
источник

K

Kitsu in Rust — русскоговорящее сообществo
Max Frai
Пытаюсь сделать что-то такое, но непонятно как
let iter = data.iter();
let iter2 = if something {
  iter.filter(….)
} else {
  ???
};
iter2.take(10).collect();
а так типы не сойдутся, нужно в енам оборачивать/боксить
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Max Frai
Пытаюсь сделать что-то такое, но непонятно как
let iter = data.iter();
let iter2 = if something {
  iter.filter(….)
} else {
  ???
};
iter2.take(10).collect();
data.iter().filter(|x| !something || …).take(10).collect()
источник

MF

Max Frai in Rust — русскоговорящее сообществo
вафель 🧇
data.iter().filter(|x| !something || …).take(10).collect()
Ага, спасибо, так и сделал примрно
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
polunin.ai
Хороший язык, в котором для объявления глобальной переменной нужно подключать сторонний крейт. Игрушечный, я бы сказал.
Не нужно
источник

Jøhn Đøꝩsøn in Rust — русскоговорящее сообществo
Hello, World!
Подскажите пожалуйста книгу про создание ос на rust, где-то были уроки, но я их потерял
источник

YJ

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

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Можешь добавить в первое сообщение, раз уж оно уже равно в закрепе висит?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
тут нету UB? BeginPaint должен заполнить info по ссылке
источник

(L

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

d

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

(L

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

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

https://doc.rust-lang.org/nomicon/unchecked-uninit.html
> It is illegal to construct a reference to uninitialized data
источник

SS

Slava Sokolovsky in Rust — русскоговорящее сообществo
polunin.ai
тут нету UB? BeginPaint должен заполнить info по ссылке
А зачем делать 2 ансейф блока в таких случаях?
источник

ДК

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

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

https://doc.rust-lang.org/nomicon/unchecked-uninit.html
> It is illegal to construct a reference to uninitialized data
и получается что? указатель может быть null? Это надо?
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Денис Котляров
и получается что? указатель может быть null? Это надо?
Чего?
источник

d

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

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

https://doc.rust-lang.org/nomicon/unchecked-uninit.html
> It is illegal to construct a reference to uninitialized data
это я читал, спасибо, но не всё нужно брать на веру, многое нужно а. проверять б. проверять на практике
источник

d

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