Rust 为由 Trait 限制的泛型函数提供了简写形式:
fn my_function(foo: impl Foo) { ... }
这段代码等价于:
fn my_function<T>(foo: T) where T:Foo { ... }