2 ms·
In my observation, the Rust community is very hesitant to use dynamic dispatch, even where it wouldn't hurt performance (true for most things that involve I/O)
by codeflo 5y ago
In my observation, the Rust community is very hesitant to use dynamic dispatch, even where it wouldn't hurt performance (true for most things that involve I/O) and would dramatically reduce compile times.
I'm not sure why. The fact that Rust makes dyn traits significantly more verbose doesn't help, of course, but that can't be the only reason.
- the_duke 5y agoWriting `dyn` in front of types doesn't really make a difference, it's only a little bit of added verbosity. The main problem is that trait objects are very limited. There is no downcasting or upcasting (eg C++ dynamic_cast) and trait objects are limited to a single trait. You can't have `Box<dyn A + B>`. That leads to lots of headaches in practice. I hear downcasting might be on the horizon, so that's something to look forward to.