Комментарии 5

Отличный разбор, только разницы между &’static и: ‘static не понял. Первое является подмножеством второго, правильно? То-есть частный случай, когда который работает только для случаев аля &’static str?

T: 'static означает, что тип T если содержит ссылки, то только статические.


&'a T можно представить как:


struct Ref<'a, T: ?Sized> {
    reference: &'a T,
}

То есть для случая Ref<'static, T>, эта структура не будет содержать нестатических ссылок, а значит она будет удовлетворять ограничению Ref<'static, T>: 'static.

Хорошая статья. Жаль только тема ограничений лайфтаймов не раскрыта: "'a: 'b", "for<'a>" и т.п.

С одной стороны да, с другой — это всё-таки уже не новичковая тема, как мне кажется

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.