First of all, cargo does not understand binary dependencies, compiles everything from source.
Second, my only use case for C++ is for native code when integrating system code with Java, .NET, UWP, Swift, Objective-C.
Third, my C++ code can also be used on the GPGPU, with nice debugging tools from all vendors.
There Rust misses the integrated workflow and IDE debugging experience that I have with C++ on those environments.
No doubt Rust will get there, by then I would gladly use it as well, but it still needs to mature a bit more.
Today's Rust release also had many goodies.
Worth noting that it's doubly linked lists specifically that are hard. So cyclic structures.
But if you're already willing to use C or C++, you've got no reason to avoid unsafe.
Variadic templates?