Rust is easy when you do things "the Rust way" (with more overly-cautious thread-safety, immutability, and tree-shaped data than you may like). You can protest and insist that you do things your way, or you can learn the language. You first have to learn the language as it is, to understand it can and can't do, so you don't get stuck trying to force a solution that it just won't allow.
As for linked lists and graph data — Rust can do it. The problem is people try to use references for them, and that can't work. Rust references are not general-purpose pointers. I find the naming very unfortunate, because it sounds too close to holding objects "by reference" in other languages, but Rust references can't store data! Rust references semantically closer to being mutexes evaluated at compile-time. Your first attempts at a linked list out of circularly dependent mutexes is going to be total nonsense.