Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.