Rust'ta özellikler ve genel türler birbirleriyle uyum içinde çalışırlar. Bir T
türünü parametrelerle ifade etmeye çalıştığımızda, argüman olarak hangi türlerin kullanılabileceğini ve argümanın uygulaması gereken özellikleri sınırlayabiliriz. Böyle bir durumda, where
anahtar sözcüğü argümanın uygulaması gereken özellikleri listeler.
Aşağıdaki örnekte yer alan T
türü, Tur
özelliğini uygulamak zorundadır:
fn bir_islev<T>(tur: T)
where
T:Tur
{
...
}
Genel türler kullanarak hem türü hem de boyutu bilinen ve derleme zamanında statik yazılmış gibi değerlendirilecek işlevler oluşturabilir, bunları statik iletim yoluyla, boyutları belirgin değerler olarak saklayabiliriz.