3 ms·
Dynamic dispatch is in the language too. use core::fmt::Display; fn show_monomorphic<T: Display>(first: T, second: T) { println!("{} then
by twic 7y ago
Dynamic dispatch is in the language too.
use core::fmt::Display;
fn show_monomorphic<T: Display>(first: T, second: T) {
println!("{} then {}", first, second);
}
fn show_polymorphic(first: &dyn Display, second: &dyn Display) {
println!("{} then {}", first, second);
}
pub fn main() {
show_monomorphic(17, 23);
show_monomorphic("fnord", "slack");
show_polymorphic(&42, &"quirkafleeg"); // mixed types!
}
There are things you can do with each that you can't do with the other, but they are often both viable choices.