How to associate functions to types without using traits, with inherent implementations
How Rust object-orientation differs from C++ object-orientation
Which traits can be implemented on which types, and which cannot
How to specify that a method can mutate the object on which it is applied
Some conventions regarding the methods that construct objects
Why Rust does not use data inheritance
What are static dispatch and dynamic dispatch, how they are implemented, and when to use them
In the previous chapter, we saw how to solve the following ...