Я встречал в Rust несколько типов, обозначенных одним апострофом:
'static
'r
'a
Какое значение имеет этот апостроф? Может это модификатор ссылок ( &
)? Универсальная типизация для ссылок? Понятия не имею, где прячется документация по этому поводу.
Ответы:
Это названные времена жизни Rust.
Цитата из языка программирования Rust :
Другими словами, время жизни приблизительно соответствует периоду выполнения, в течение которого данные, на которые указывает ссылка, являются действительными. Компилятор Rust консервативно сделает вывод о минимальном возможном сроке жизни для обеспечения безопасности. Если вы хотите сообщить компилятору, что ссылка живет дольше, чем самая короткая оценка, вы можете назвать ее, указав, что выходная ссылка, например, имеет то же время жизни, что и данная входная ссылка.
Время
'static
жизни - это особая жизнь, самая долгая из всех жизней - на протяжении всей программы. Типичным примером являются строковые «литералы», которые всегда будут доступны в течение всего времени существования программы / модуля.Вы можете получить больше информации из этой колоды слайдов , начиная со слайда 29.
Время жизни в Rust также рассматривает время жизни более подробно.
источник