Re:How we secretly introduced Haskell and got away with it
by eru on Monday March 06, 2017 @07:01AM
(#13802119)
There was an interesting talk about industrial simulations at the International Conference on Functional Programming this year.
(The gist was that avoiding mutation and keeping everything purely functional allowed them to roll back and forth in time with no problem, or try out multiple different futures. That's somewhat orthogonal to inheritance.)
Rust traits and Scala traits (or abstract classes) are more or less equivalent with this one exception. I was just pointed to a proposal that would allow for this in Rust, but it is not yet implemented [0]. Essentially, you would be able to define type members, and then "link" them to a member of the struct/enum that is being "impl"-ed. While ergonomically not quite the same as scala, it is effectively the same as inheriting an abstract class with a constructor parameter.
[0] https://github.com/rust-lang/rfcs/pull/1546