Using the [[Rust deref|Deref]] trait to emulate inheritance in Rust is an anti-pattern.

It has subtle semantic difference from inheritance in OOP languages. In particular, self is not bind to the “subclass”, but rather than class where the method is actually defined (think about non-virtual methods and method hiding in C++)

Reference