Hacker News new | past | comments | ask | show | jobs | submit login

These are two issues, which a theoretically orthogonal but in practice not so much. These are known as soundness and completeness. A good talk on topic [1]

Rust will reject a lot of sound programs, and that's a huge performance hit. You are hitting the incompleteness wall with multiple mutable borrowing, closures in structures are a huge source of pain as well. And usually the answer from the community is "use handlers instead of pointers", but this gives you, surprise surprise, manual resource management alike that in C, and the compiler won't help much.

Of course this is all subjective but for me the ergonomics of Rust is far too bad. It's a good step in right direction along with ATS, but I really hope we could do better than this.

[1] https://www.youtube.com/watch?v=iSmkqocn0oQ




Can you give us examples, please? I use Rust since version 1.0, and I like it a lot.


Cyclic data structures are impossible to represent in safe Rust because there is no clear "owner" in a cyclic data structure.


Cyclic structures can be flattened into a vector or an arena, or unsafe Rust can be used.


What are some examples of sound programs you want to write in Rust but are unable to write?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: