تور راست فهرست مطالب

تابع‌های جنریک

جنریک‌ها توی راست دست‌به‌دست با trait ها کار می‌کنن. وقتی یه نوع پارامتری‌شده‌ی T رو توصیف می‌کنیم، می‌تونیم با لیست کردن trait هایی که آرگومان باید پیاده‌سازی کنه، محدود کنیم که چه نوع‌هایی می‌تونن به‌عنوان آرگومان استفاده بشن.

توی این مثال، نوع T باید trait به اسم Foo رو پیاده‌سازی کنه:

fn my_function<T>(foo: T)
where
    T:Foo
{
    ...
}

با استفاده از جنریک‌ها، در زمان کامپایل تابع‌هایی با تایپ استاتیک می‌سازیم که نوع‌ها و اندازه‌های مشخصی دارن و همین بهمون اجازه می‌ده دیسپچ استاتیک انجام بدیم و اونا رو به‌عنوان یه مقدار با اندازه‌ی مشخص ذخیره کنیم.