Ini adalah masa hidup yang dinamai Rust.
Mengutip dari The Rust Programming Language :
Setiap referensi di Rust memiliki masa hidup, yang merupakan cakupan yang valid untuk referensi tersebut. Sebagian besar masa pakai waktu bersifat implisit dan disimpulkan, sama seperti sebagian besar jenis waktu yang disimpulkan. Mirip dengan ketika kita harus membuat anotasi tipe karena beberapa tipe dimungkinkan, ada kasus di mana masa hidup referensi dapat dikaitkan dalam beberapa cara berbeda, jadi Rust membutuhkan kita untuk membuat anotasi hubungan menggunakan parameter seumur hidup generik sehingga dapat memastikan referensi aktual yang digunakan saat runtime pasti akan valid.
Anotasi seumur hidup tidak mengubah berapa lama referensi yang terlibat ada. Dengan cara yang sama bahwa fungsi dapat menerima tipe apa pun ketika tanda tangan menentukan parameter tipe generik, fungsi dapat menerima referensi dengan masa pakai apa pun saat tanda tangan menentukan parameter seumur hidup generik. Apa yang dilakukan anotasi seumur hidup adalah menghubungkan masa pakai beberapa referensi satu sama lain.
Anotasi seumur hidup memiliki sintaks yang sedikit tidak biasa: nama parameter seumur hidup harus dimulai dengan tanda kutip '
. Nama parameter masa pakai biasanya semuanya huruf kecil, dan seperti tipe umum, namanya biasanya sangat pendek. 'a
adalah nama yang digunakan kebanyakan orang sebagai default. Anotasi parameter seumur hidup berada setelah &
referensi, dan spasi memisahkan anotasi seumur hidup dari jenis referensi.
Dengan kata lain, seumur hidup mendekati rentang eksekusi selama data yang dirujuk menjadi valid. Kompilator Rust akan secara konservatif menyimpulkan masa pakai sesingkat mungkin agar aman. Jika Anda ingin memberi tahu compiler bahwa masa pakai referensi lebih lama daripada perkiraan terpendek, Anda dapat menamainya, dengan mengatakan bahwa referensi keluaran, misalnya, memiliki masa pakai yang sama dengan referensi masukan yang diberikan.
The 'static
seumur hidup adalah seumur hidup khusus, paling lama hidup dari semua masa hidup - untuk durasi program. Contoh tipikal adalah string "literals" yang akan selalu tersedia selama masa pakai program / modul.
Anda bisa mendapatkan lebih banyak informasi dari dek slide ini , mulai sekitar slide 29.
Lifetimes in Rust juga membahas masa hidup secara mendalam.