Η Rust διαθέτει μία συντομογραφία για να εκφράζουμε γενικούς τύπους που περιορίζονται από ένα trait:
fn my_function(foo: impl Foo) { ... }
Αυτό είναι ισοδύναμο με:
fn my_function<T>(foo: T) where T:Foo { ... }