Size: a a a

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

2020 April 17

Э

Эрик in Rust — русскоговорящее сообществo
Вообще, понятно, почему там нужны advance и bytes, но непонятно, почему там remaining дефолтным сделали вместо is_empty.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну, то есть, is_empty()  -> bytes -> хватает на u32? если да, то выдай Some() и advance, а если нет, то advance(bytes.len()) -> повторить, если не пустой.
источник

Э

Эрик in Rust — русскоговорящее сообществo
is_empty вообще для любой структуры достаточно прост. Хотя бы bool внутри хранить и поставить его на true во время advance, если уж совсем никак иначе.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Можно было бы даже не делать is_empty, а просто сделать bytes(&self) -> Option<&[u8]>, и пусть None возвращает, если пустой. А если длина 0, то всё равно advance будет с этой длиной, там дальше всё и вылезет.
источник

Э

Эрик in Rust — русскоговорящее сообществo
И в функциях удобно дальше None пропихивать с помощью ?. И паниковать не надо. Все довольны, всё хорошо.
источник

Э

Эрик in Rust — русскоговорящее сообществo
С такой штукой можно было бы даже куски воровать, если надо, всё равно remaining'а нет и никто не накажет.
источник

Э

Эрик in Rust — русскоговорящее сообществo
А для деревьев ещё хорошо было бы добавить
advance_bytes(&mut self)

чтобы не каждый раз вызывать advance(bytes.len), который будет сверять длину листа и полученного числа, а просто дропнуть лист.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну и size_hint() -> (usize, Option<usize>) для эффективных аллокаций, конечно.
источник

Э

Эрик in Rust — русскоговорящее сообществo
А этот remaining уже в ExactSizeBuf пихать.
источник
2020 April 18

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
источник

LM

Loo Maclin in Rust — русскоговорящее сообществo
> followed (somewhat surprisingly) by R
источник

LM

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

H

Heorhi in Rust — русскоговорящее сообществo
они уже придумали что делать с прокисшими багами?
источник

D

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

ID

Ivan Dubrov in Rust — русскоговорящее сообществo
Есть те, кто разбирается в бэктрейсах на разных платформах? Зачем backtrace крейт вот тут глобальную блокировку делает https://github.com/rust-lang/backtrace-rs/blob/e8404c8aae6c826c74033f2961821d854898b4f9/src/backtrace/mod.rs#L52 ?
Если бектрейс собирать без разрешения символов, зачем блокировка?
источник

D

Dima in Rust — русскоговорящее сообществo
я думаю стоит другой вопрос задать, видимо если лок не сделать то дата рейс какой-то произойдет
источник

ID

Ivan Dubrov in Rust — русскоговорящее сообществo
Ну, в этом и вопрос — какой именно дата рейс?
источник

D

Dima in Rust — русскоговорящее сообществo
Ivan Dubrov
Ну, в этом и вопрос — какой именно дата рейс?
как раз таки тут вопроса нету, если бы не надо было брать лок, его бы не брали
источник

ID

Ivan Dubrov in Rust — русскоговорящее сообществo
oh boy
источник

D

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