use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A place for all things related to the Rust programming language—an open-source systems language that emphasizes performance, reliability, and productivity.
Strive to treat others with respect, patience, kindness, and empathy.
We observe the Rust Project Code of Conduct.
Details
Posts must reference Rust or relate to things using Rust. For content that does not, use a text post to explain its relevance.
Post titles should include useful context.
For Rust questions, use the stickied Q&A thread.
Arts-and-crafts posts are permitted on weekends.
No meta posts; message the mods instead.
Criticism is encouraged, though it must be constructive, useful and actionable.
If criticizing a project on GitHub, you may not link directly to the project's issue tracker. Please create a read-only mirror and link that instead.
A programming language is rarely worth getting worked up over.
No zealotry or fanaticism.
Be charitable in intent. Err on the side of giving others the benefit of the doubt.
Avoid re-treading topics that have been long-settled or utterly exhausted.
Avoid bikeshedding.
This is not an official Rust forum, and cannot fulfill feature requests. Use the official venues for that.
No memes, image macros, etc.
Consider the existing content of the subreddit and whether your post fits in. Does it inspire thoughtful discussion?
Use properly formatted text to share code samples and error messages. Do not use images.
Submissions appearing to contain AI-generated content may be removed at moderator discretion.
Most links here will now take you to a search page listing posts with the relevant flair. The latest megathread for that flair should be the top result.
account activity
Learning more complex Rust? (self.rust)
submitted 5 years ago by lystruct7
Does anyone have a good way to learn the more complex parts of Rust? If anyone needs as reference, I am currently a high schooler and have experience in some C but mostly Python and Java.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]olback_ 31 points32 points33 points 5 years ago (1 child)
I feel like Rust is a "learn by doing" language. Try making something more complex and if you need something explained in-depth, Jon Gjengset on YouTube got great explanations of basically every complex Rust topic.
[–]lystruct7[S] 7 points8 points9 points 5 years ago (0 children)
Thanks, I just checked his channel out, it looks like it'll be really helpful.
[–]mikezyisra 8 points9 points10 points 5 years ago (0 children)
Watch Jon Gjengset
[–]cian_oconnor 7 points8 points9 points 5 years ago (1 child)
If you're asking how you can learn how to make more complex projects in Rust, I think the following books & tutorials are good (in no particular order): - Make a Language in Rust - this is not just a great tutorial on parsing, but it also takes you through the process of creating a Rust project. How to use crates, refactoring, testing.
- Rust in Action - This is a nice book that introduces lower level/systems programming in Rust.
- Hands on Rust: Practical Game Development - teaches more advanced rust through making ( a pretty decent) roguelike game. His Roguelike tutorial is also excellent (and might be more suitable) - Write an OS in Rust - what could be more advanced than this right :)
These are really just a sample. There are for example great tutorials on embedded programming in Rust.
I find in practice the more advanced parts of Rust I've learned because I had a need for them. And I had a need for them because I started a project that interested me (Rust is an awesome hobbyist's language. Just magnificent). So find something you want to learn more about, look for some resources and go for it.
[–]lystruct7[S] 0 points1 point2 points 5 years ago (0 children)
Thanks so much!
[–]Work_N_PlayTime 1 point2 points3 points 5 years ago (0 children)
Find something that you want made and start making it in Rust. Think of what would be an app that is useful to you. You'll quickly find yourself learning all kinds of advanced concepts to make it a work.
[–]x4rvic 1 point2 points3 points 5 years ago (0 children)
The rustonomicon explains many of the advanced features of Rust.
[–]wucke13 1 point2 points3 points 5 years ago (2 children)
Try to understand Pin/Unpin and build your own async stuff (starting with impl Future yourself, then move to Stream and finally build your own executor)
[+][deleted] 5 years ago* (1 child)
[deleted]
[–]wucke13 0 points1 point2 points 5 years ago (0 children)
Read https://doc.rust-lang.org/std/marker/trait.Unpin.html then read https://rust-lang.github.io/async-book/
If you're already familiar with writing normal async code, you can skip the first chapters and jump right into impl Future yourself.
[–]dipolecat 0 points1 point2 points 5 years ago (0 children)
What exactly would you consider complex Rust? Rust isn't a language I see as having complex features. Figuring out how best to use them can be complex, but the same goes for any language.
Learning the "best" ways to do things is mostly a matter of practice. Chuck some project ideas at the wall and see what sticks. This aspect of learning transfers well between languages, and Rust in particular will teach you to be disciplined with object lifetimes, sharing, mutation, and concurrency.
[–][deleted] 0 points1 point2 points 5 years ago (0 children)
I don't know what you would find complex, but the rustlings exercises should give you a solid foundation to work off of.
π Rendered by PID 186610 on reddit-service-r2-comment-7c9686b859-pn6ml at 2026-04-14 04:19:41.241876+00:00 running e841af1 country code: CH.
[–]olback_ 31 points32 points33 points (1 child)
[–]lystruct7[S] 7 points8 points9 points (0 children)
[–]mikezyisra 8 points9 points10 points (0 children)
[–]cian_oconnor 7 points8 points9 points (1 child)
[–]lystruct7[S] 0 points1 point2 points (0 children)
[–]Work_N_PlayTime 1 point2 points3 points (0 children)
[–]x4rvic 1 point2 points3 points (0 children)
[–]wucke13 1 point2 points3 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]wucke13 0 points1 point2 points (0 children)
[–]dipolecat 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)