UML was for various reasons, but libraries? When's the last time you wrote a sorting algorithm? The entire software ecosystem runs on dependencies. That failed?
Rust uses crates to import those dependencies, which was one of its biggest innovations.
I would argue that library dependencies in Rust are significantly less abstracted away than in previous languages. The libraries themselves tend to be much more specific (rather than a huge utility library you'll have a crate that does one specific thing - and rather than "sort" it will be a specific sorting algorithm), you specify exactly the version you want rather than getting silently upgraded, and it's statically linked rather than being resolved at runtime. Yes reusing implementation code is not going away, but we're being more explicit about it.