Recommended approach for attribute inheritance in Rust

No wonder. There's always an easy solution to every human problem — neat, plausible and wrong.

OOP is precisely such a solution.

And Rust doesn't like non-working solutions.

It's not that people haven't tried to bring OOP into Rust. They did. But this all falls apart when you try to make it correct. It just doesn't work. And Rust doesn't like things that don't work.

I would ask you why do you try to do that. What the business requirements? Who would use that code and why?

Answer would depend on that. Handling Invoices (as discussed here) is different from handling of language elements and different from device drivers.

Stop trying to find a silver bullet, ask concrete questions about concreted “business-need” driven examples — and you would get an answer.

One may even implement “proper” interface inheritance and sometimes it's even right thing to do (e.g. if you want to write a JVM), but I would never use it outside of such task!

I know, that sounds frustrating if you, in reality, just want “to write Java in Rust” or “to write Python in Rust”, but that's how it is: Rust is Rust, don't try to make it something else.