gen Anahtar Kelimesi
Özet
Ayrıntılar
gen anahtar kelimesi, Rust’ın gelecekteki bir sürümünde “gen blokları“nı
getirebilmek için RFC #3513 kapsamında ayrıldı. gen blokları, belirli türde
yineleyicileri yazmayı kolaylaştıran bir yol sunacak. Bu anahtar kelimeyi
şimdiden ayırmak, bir sonraki sürüm gelmeden gen bloklarını kararlı hale
getirmeyi kolaylaştıracak.
Taşıma
gen anahtar kelimesinin eklenmesi, adı zaten gen olan tanımlayıcılar için
sorun yaratabilir. Örneğin gen adlı bir değişken ya da fonksiyon adı artık
yeni anahtar kelimeyle çakışır. Bunu aşmak için Rust, ham tanımlayıcı
için r# önekini destekler; böylece tanımlayıcılar anahtar kelimelerle çakışabilir.
keyword_idents_2024 lint’i, gen adlı tüm tanımlayıcıları otomatik olarak
r#gen haline getirir; böylece kod her iki sürümde de çalışmaya devam eder.
Bu lint, cargo fix --edition çalıştırıldığında otomatik uygulanan
rust-2024-compatibility grubunun parçasıdır. Kodunuzu Rust 2024 ile uyumlu
hale getirmek için şunu çalıştırın:
cargo fix --edition
Örneğin bu komut şunu:
fn gen() {
println!("uretiliyor!");
}
fn main() {
gen();
}
şuna dönüştürür:
fn r#gen() {
println!("uretiliyor!");
}
fn main() {
r#gen();
}
Alternatif olarak, gen tanımlayıcılarının r#gen yapılması gereken yerleri
bulmak için lint’i elle etkinleştirebilirsiniz:
#![allow(unused)]
fn main() {
// Elle taşıma yapmak için bunu crate köküne ekleyin.
#![warn(keyword_idents_2024)]
}