> Rust has its own flavour of OOP, only data inheritance isn't part of the picture.
I think it's fair to say that Rust is a lot less 'OOP' than C++. There is no concept of 'protected', traits are separate from structs, there's no data inheritance, there's no 'isinstance', dynamic dispatch is explicitly behind 'dyn' keyword, etc.
> Additionally macro system as powerful as Common Lisp,
It's not like the Linux kernel doesn't make use of C's macros.
Abusing inheritance of virtual methods instead of interfaces (which makes classes closed to extension, and the possibility of overriding non-zero methods is nothing short of weird), and implicit "this" parameter (which makes stuff needlessly hard to read and refactor), are two of the biggest annoyances on my list -- because they are so basic.
Interfaces/traits, dynamic dispatch, static dispatch, encapsulation, polymorphism, traits inheritance, is all there.
Additionally macro system as powerful as Common Lisp, which allows to do stuff that would make Linus blowup on the spot.