How to implement destructors, that is, methods to run when an object is deallocated
How to implement operator overloading, that is, methods that allow use of Rust operators with user-defined types
How to implement infallible or fallible type converters
Why Rust does not use data inheritance and how to do without it
What are static dispatch and dynamic dispatch, how they are implemented, and when to use them
Peculiarities of Rust Object-Orientation
In previous chapters, we have already seen that ...