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

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

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

8 ответов

5 просмотров

А зачем тебе 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, я ведь правильно понимаю?

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
49
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Подскажите, есть какие-то события создания/уничтожения у TFrame по типу TForm (OnCreate и OnClose/OnDestroy) ? Как отловить создание TFrame и "перед" уничтожением. На Tframe р...
Денис
8
а чем хуже?
Alexey Kulakov
10
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
1
Карта сайта