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

Но итератор всё-равно не вытанцовывается. Ограничение для лайфтайма Item'а не

работает. https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=3de1c0a25557fca5ed14797418b827c1

8 ответов

27 просмотров

А зачем тебе gat тут вообще? type Item = &'a mut T; тоже самое же в этом контексте, не?

red75prime- Автор вопроса
kitsu
А зачем тебе gat тут вообще? type Item = &'a mut T...

Нет. Тут смысл в том, что возвращаемый Item блокирует итератор на время своего существования (с 'a, отвязанным от &mut self в next, это не работает), что позволяет без проблем возвращать мутабельные ссылки.

там где-то должно быть место чтобы потребовать 'a: 'b, но его нет

red75prime- Автор вопроса
Сергей
там где-то должно быть место чтобы потребовать 'a:...

Написать type Item<'b> where 'a: 'b = &'b mut T; можно, но не компилируется. lifetime bound not satisfied

red75prime- Автор вопроса
red75prime
Написать type Item<'b> where 'a: 'b = &'b mut T; м...

Впрочем, по смыслу это получается, что 'a должен пережить 'b для любого 'b

red75prime
Впрочем, по смыслу это получается, что 'a должен п...

ну оно так и должно быть: итератор взятый по ссылке должен переживать любое своё значение, взятое по ссылке

red75prime- Автор вопроса
Сергей
ну оно так и должно быть: итератор взятый по ссылк...

Не, у нас не может быть любого 'b, так как 'b берётся только из &'с mut self в next, а 'с не может пережить 'a.

red75prime
Не, у нас не может быть любого 'b, так как 'b берё...

значит 'b не должно переживать 'a, я ведь правильно понимаю?

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
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
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта