Rustfmt: Stil Sürümü
Özet
Kullanıcı artık rustfmt ile hangi stil sürümünün kullanılacağını denetleyebilir.
Ayrıntılar
Rustfmt’in ürettiği varsayılan biçimlendirme, Rust Stil Rehberi kuralları tarafından belirlenir.
Ayrıca Rustfmt, kullanıcıların Rust araç zincirini güncellerken gereksiz biçimlendirme karmaşası yaşamamasını hedefleyen bir biçimlendirme kararlılığı garantisine sahiptir. Bu garanti, özünde Rustfmt’in daha yeni bir sürümünün, önceki bir Rustfmt sürümünün başarıyla biçimlendirdiği çıktıyı değiştirememesi anlamına gelir.
Bu iki kısıtın birleşimi, tarihsel olarak hem Stil Rehberi’ni hem de Rustfmt’in varsayılan biçimlendirme davranışını kilitlemişti. Bu çıkmaz, stil iyileştirmeleri üzerinde yineleme yapmayı zorlaştırmak ve Rustfmt’in çoktan gereksiz hale gelmiş eski biçimlendirme tuhaflıklarını sürdürmesini zorunlu kılmak gibi sorunlara yol açtı; örneğin iç içe demet erişimi gibi.
RFC 3338, Rust Stil Rehberi’ni Rust’ın sürüm modeliyle hizalayan bir mekanizma
kurarak bu çıkmazı çözdü. Böylece Stil Rehberi sürümler arasında evrilebilir
ve rustfmt, kullanıcıların istedikleri Stil Rehberi sürümünü, yani Stil
Sürümü’nü belirtmesine izin verir.
2024 sürümünde rustfmt, biçimlendirmede kullanılacak Stil Sürümü’nü kullanıcıların
denetleyebilmesini destekler. Stil Rehberi’nin 2024 sürümü ayrıca bu Sürüm
Rehberi’nin başka yerlerinde anlatılan çeşitli iyileştirmeler içerir.
Varsayılan olarak rustfmt, ayrıştırma için kullanılan standart Rust sürümüyle
aynı Stil Sürümü’nü kullanır; ancak Stil Sürümü ayrıca geçersiz kılınabilir ve
ayrı yapılandırılabilir.
rustfmti 2024 Stil Sürümü ile çalıştırmanın birden fazla yolu vardır:
edition alanı 2024 olan bir Cargo.toml dosyanız varsa şunu çalıştırın:
cargo fmt
Ya da ayrıştırma ve Stil Rehberi için 2024 sürümünü kullanmak üzere
rustfmti doğrudan --edition 2024 ile çalıştırın:
rustfmt lib.rs --edition 2024
Stil sürümü ayrıca rustfmt.toml ya da .rustfmt.toml yapılandırma dosyasında
da ayarlanabilir:
style_edition = "2024"
Bu durumda rustfmt doğrudan çalıştırıldığında bu ayar kullanılır:
rustfmt lib.rs
Alternatif olarak stil sürümü rustfmt seçenekleriyle doğrudan belirtilebilir:
rustfmt lib.rs --style-edition 2024
Taşıma
cargo fmt ya da rustfmti 2024 sürümü veya stil sürümü ile çalıştırmak,
biçimlendirmeyi otomatik olarak 2024 stil sürümü biçimine taşır.
Düzenleyicilerinin kaydederken biçimlendirme özelliğini kullanabilecek katkıcıları
olan projelerin, kullandıkları style_edition değerini içeren bir rustfmt.toml
dosyasını projelerine eklemeleri ya da kullanıcılarını yerel düzenleyicilerindeki
bu özelliği aynı style_edition ile ayarlamaya teşvik etmeleri önemle tavsiye edilir.
Bunun amacı, düzenleyicinin kaydederken ürettiği çıktının geliştiricinin elle
çalıştırdığı cargo fmt ya da projenin CI sürecindeki çıktıyla tutarlı olmasını
sağlamaktır. Birçok düzenleyici rustfmti doğrudan çalıştırır ve bu varsayılan
olarak 2015 sürümünü kullanır; cargo fmt ise Cargo.toml içinde belirtilen
sürümü kullanır.