Fn traits — closure types. Trait objects — dynamic dispatch.
Fn traits:
Trait objects:
1// Fn trait2fn apply<F: Fn(i32) -> i32>(f: F, x: i32) -> i32 {3 f(x)4}56// Trait object7fn apply(f: &dyn Fn(i32) -> i32, x: i32) -> i32 {8 f(x)9}
Key: Fn for static, trait objects for dynamic.