Разбор последствий: что именно гарантирует требование, чтобы обобщённый тип не содержал ссылок короче заданного времени жизни, и чего оно не гарантирует?
База Hintsage
Времена жизни
Lifetime annotations и связи времени жизни ссылок.
Практика
Вопросы: Времена жизни
Практическая ситуация: почему ограничение обратного вызова на работу с любой длительностью заимствования выражают через for<'a>, а не через один параметр времени жизни?
Что гарантирует аннотация dyn Trait + 'a и почему она не задаёт срок жизни самого объекта?
Объясните механизм отношения «время жизни 'a дольше 'b»: какой вывод о допустимом использовании ссылки следует из этой связи?
Практическая ситуация: объясните, почему одна передача удовлетворяет ограничению T: 'static, а другая — нет.
fn accept<T: 'static>(_: T) {}
fn main() {
{
let text = String::from("hello");
accept(text);
}
{
let text = String::from("hello");
accept(&text); // ошибка компиляции
}
}
Может ли явная аннотация времени жизни продлить срок существования значения, на которое ссылается ссылка?
Разбор последствий: означает ли одна и та же аннотация времени жизни у двух входных ссылок, что вызывающий обязан предоставить ссылки с одинаковым сроком действия?
Как параметр времени жизни у структуры, содержащей ссылку, ограничивает срок существования экземпляра?
В каких случаях Rust требует явных аннотаций времени жизни в сигнатуре функции, хотя ссылки уже присутствуют в параметрах?
Как аннотация времени жизни в сигнатуре функции связывает входную ссылку с возвращаемой?
Показано 41–50 из 50