Trait을 함수의 파라미터로 가져올 수 있으며, 아래 예제들은 형태는 다르지만 모두 Summary
Trait을 implement 하는 item
을 인자로 받아오고 있다.
pub fn notify(item: &impl Summary) {
println!("Breaking news! {}", item.summarize());
}
pub fn notify<T: Summary>(item: &T) {
println!("Breaking news! {}", item.summarize());
}
pub fn notify(item1: &impl Summary, item2: &impl Summary) {
pub fn notify<T: Summary>(item1: &T, item2: &T) {
추가적으로 여러 Trait을 가져올 경우 아래처럼 쓸 수 있다.
pub fn notify(item: &(impl Summary + Display)) {
pub fn notify<T: Summary + Display>(item: &T) {