[HN] · [r/rust] · [r/ProgrammingLanguages](https://www.reddit.com/r/ProgrammingLanguages/comments/v3clru/rust_is_hard_or_the_misery_of_mainstream/)
[HN]: https://news.ycombinator.com/item?id=31601040 [r/rust]: https://www.reddit.com/r/rust/comments/v3cktw/rust_is_hard_or_the_misery_of_mainstream/  When you use Rust, it is sometimes outright preposterous how much knowledge of language, and how much of programming ingenuity and curiosity you need in order to accomplish the most trivial things. When you feel particularly desperate, you go to [rust/issues] and search for a solution for your problem. Suddenly, you find an issue with an explanation that it is theoretically impossible to design your API in this way, owing to some subtle language bug. The issue is Open and dated Apr 5, 2017. [rust/issues]: https://github.com/rust-lang/rust/issues I entered Rust four years ago. To this moment, I co-authored [teloxide] and [dptree], wrote several publications and translated a number of language release announcements. I also managed to write some production code in Rust, and had a chance to speak at one online meetup dedicated to Rust. Still, from time to time I find myself disputing with borrow checker and type system for no practical reason. Yes, I am no longer stupefied by such errors as `cannot return reference to temporary value` -- over time, I developed multiple heuristic strategies to cope with lifetimes... But one recent situation has made me to _fail ignominiously_. [teloxide]: https://github.com/teloxide/teloxide [dptree]: https://github.com/teloxide/dptree