Static — compile-time. Dynamic — runtime.
Static:
Dynamic:
1// Static dispatch2fn print<T: Display>(item: &T) {3 println!("{}", item);4}56// Dynamic dispatch7fn print(item: &dyn Display) {8 println!("{}", item);9}
Key: Static for performance, dynamic for flexibility.