src/idiomatic/welcome.md
Rust Fundamentals introduced Rust syntax and core concepts. We now want to go one step further: how do you use Rust effectively in your projects? What does idiomatic Rust look like?
This course is opinionated: we will nudge you towards some patterns, and away from others. Nonetheless, we do recognize that some projects may have different needs. We always provide the necessary information to help you make informed decisions within the context and constraints of your own projects.
⚠️ This course is under active development.
The material may change frequently and there might be errors that have not yet been spotted. Nonetheless, we encourage you to browse through and provide early feedback!
{{%session outline}}
<details name="Course outline"> <!-- TODO: Remove this `details` section once the course material is finalized -->The course will cover the topics listed below. Each topic may be covered in one or more slides, depending on its complexity and relevance.
Engineers with at least 2-3 years of coding experience in C, C++11 or newer, Java 7 or newer, Python 2 or 3, Go or any other similar imperative programming language. We have no expectation of experience with more modern or feature-rich languages like Swift, Kotlin, C#, or TypeScript.
Drop to clean up resources, trigger
actions or enforce invariants&str and String, Path and PathBuf,
etc..clone(), learn to love
CowError trait to keep track of the full error chain.thiserror to reduce boilerplate when defining error types.anyhowResult<Result<T, RecoverableError>, FatalError>.