How Not to Learn Rust
dystroy.org
dystroy.org
Doing rust the "right way" you end up with FP just by a slightly different path: make everything immutable, clone data, use multiple returns and so on.
I agree with you that the Rust community is far too defensive and dismissive about linked lists.
However, the underlying problem is that the C/C++ community thinks linked lists are "simple". This is ALSO not true.
Rust simply exposes this fact to the light.
We don't really need Rust to "teach us" that.
Only they aren't.
Who allocates a node? Who owns a list node? Who deallocates a node? Who owns a list node when you disconnect it? How do you handle walking a list when someone may update it at the same time? How do you ensure that you don't deallocate a list underneath somebody? What happens when a list is circular? How do you detect that a list is circular? How do you deallocate a circular list?
In fact, a "linked list" is a particularly nasty data structure to reason about in the presence of concurrency if you don't have garbage collection.
Personally, I think that Rust's inability to deal with linked lists points out some fundamental failing of the language itself. However, that doesn't make linked lists simple or easy.
You could make the same exact argument about arrays or any kind of structure with reference semantics.
I guess you could say that computers in general are hard. Doing real systems programming, where you can't do garbage collection, is hard.
But then again Rust isn't especially good for systems programming with the lack of a stable ABI, lack of a memory model, and so on. So it's really the worst of both worlds: a horribly constrained language that attempts to solve a subset of trivial memory errors in a way that is painful for the programmer, and it's effectively worthless for systems programming (even for the three targets it supports).
The fact that you think these answers are easy and obvious should give you pause.
Concurrency in non-GC languages is not at all a solved problem. So much so, that "use GC" is often the only acceptable answer.
Pretending linked lists are some sort of unsolved computer science problem that necessitates all this pain is quite silly and quite telling.