Using Trait Bounds to Conditionally Implement Methods
Ta có thể implement 1 method có điều kiện cho bất kỳ type nào có implement một trait khác cụ thể. Ví dụ để dễ hiểu hơn dưới đây:
impl<T> Pair<T>
implement function new
trả về kiểu dữ liệu Pair<T>
với T
là generic (bất kỳ kiểu dữ liệu nào.
impl<T: Display + PartialOrd> Pair<T>
implement function cmp_display
cho mọi generic T
với T
đã được implement Display + PartialOrd
trước đó rồi (do đó mới có thể sử dụng các behavior của
Display
(println!("{}")
) và PartialOrd
(>
, <
, ...) được.