[:exclamation:] We condemn in the strongest possible terms Russia’s :pirate_flag: unprovoked, unjust and illegal invasion of Ukraine, a sovereign and democratic state. All Russian-language materials are published for educational purposes only.
Curated collection of resources to master Rust.
⬇️ Tags legend at the end of the page.
( general )
- Rust API documentation ( reading ) ( reference ) ( official )
- Rust Book 🇺🇦 🇬🇧 🏴☠️ ( reading ) ( course ) ( official )
- The Rustonomicon ( course ) ( reading ) ( official ) : nonsafe programming
- Rust by Example 🇬🇧 🏴☠️ ( reading ) ( official )
- 100-exercises
- Rust cookbook 🇬🇧 🏴☠️ ( reading ) ( official ) : somewhat outdated
( about:setup )
- Install Rust ( official )
- How to install Rust on Windows by Doug Milford ( 🎥 ) ( article )
- How to install Rust on Linux by TechRepublic ( 🎥 ) ( article )
- How to install debugger on Visual Studio Code by DevbaseMedia ( 🎥 ) ( article )
( general ) ( course )
- Rust in 100 Seconds by Fireship ( 🎥 )
- Rust in 10 minutes and reading ( drill ) ( reading ) ( 🎥 )
- First Steps in Rust ( reading ) ⚡ : introduction by Microsoft
- Rustlings ( official )
( general )
- ⭐ Rust Book 🇺🇦 🇬🇧 🏴☠️ ( reading ) ( course ) ( official )
- Rust Book with Quizes ( reading ) ⚡ ( course ) ( official )
- Exercism : interactive exercises
- ⭐ Learn Rust Programming - Complete Course by Free Code Camp ( 🎥 ) ( course )
- Rust Tutorial by Derek Banas ( 🎥 ) ( course )
- Intro to Rust by Tensor Programming ( 🎥 )
- Rust Tutorial by Doug Milford ( 🎥 )
- The Rust Lang Book by Let's Get Rusty ( 🎥 )
- Rust Programming Tutorial by dcode ( 🎥 )
- Easy Rust by mithradates ( 🎥 )
- Rust Crash Course by Vandad Nahavandipoor ( 🎥 )
- Программирование на Rust by Computer Science Center ( 🎥 ) ( non-eng )
- Rust Essential Training by Linkedin ( 🎥 ) ( course )
- Rust by Tutorials Point ( reading )
- Rust by RIP Tutorial ( reading )
- Rust Incubator by Instrumentisto and our community ( reading ) ( course ) ( about:idiomatic )
- Comprehensive Rust by Google
- Easy Rust by David MacLeod ( reading ) ( course )
- A Gentle Introduction to Rust ( reading ) ( course )
( course ) ( advanced )
- ⭐ Crust of Rust by Jon Gjengset ( 🎥 ) ( general )
- ⭐ Effective Rust by David Drysdale ( reading ) ( course ) ( about:idiomatic )
- The Rustonomicon ( course ) ( reading ) ( official ) : nonsafe programming
- High Assurance Rust ( reading ) : developing secure and robust software
( about:idiomatic )
- Rust Incubator by Instrumentisto and our community ( reading ) ( course ) ( about:idiomatic )
- Effective Rust by David Drysdale ( reading ) ( course ) ( about:idiomatic )
- Rust API Guidelines ( reading ) ( about:idiomatic )
- Rust Design Patterns by Nick Cameron ( reading ) ( course ) ( about:idiomatic )
( about:infrastructure )
- Rust API documentation ( reading ) ( reference ) ( official )
- Rust Book 🇺🇦 🇬🇧 🏴☠️ ( reading ) ( course ) ( official )
- Rustonomicon ( course ) ( reading ) ( official ) : nonsafe programming
- Reference Book ( reading ) ( reference ) ( official )
- Editions Book ( reading ) ( official )
- Rustdoc Book ( reading ) ( official )
- Rustc Book ( reading ) ( official )
- Command Line Book ( reading )
- WebAssembly Book ( reading )
- Embed Book ( reading )
- Cargo Book ( reading ) ( official ) ( about:cargo )
- Rustup Book ( official ) ( reading ) ( course )
- Compiler Book ( reading ) ( _specific )
( about:rustup )
- Rustup Book ( official ) ( reading ) ( course )
( about:cargo )
- Cargo Book ( reading ) ( official ) ( about:cargo )
- Rusts Module System Explained by Ludwig Stecher ( reading ) ( article )
( about:cli )
- Command Line Applications in Rust ( reading )
( about:macro )
- The Little Book of Rust Macros ( reading )
( course ) ( about:webasm )
- ⭐ Rust and WebAssembly ( reading )
- The wasm-bindgen Guide ( reading )
- Practical intro to WebAssembly ( 🎥 ) ( non-eng )
- Wasm Architecture ( 🎥 )
- WebAssembly Roadmap ( reading )
- Extism - the universal plug-in system. ( reading )
- Wasm and multithreading ( reading )
- Big picture of WebAssembly ( reading )
- Wat2wasm demo for converting
- Rustlings ( official ) ⚡
- Exercism ⚡ : interactive exercises
- Rust by practice by Sunface ⚡
- Tour of Rust 🇬🇧 🇺🇦 ( drill )
- Improving the Rust Book ( drill ) ( reading )
- ⭐ Rust Playground ( official )
- Rust explaine
- Rust to Asmebler
( cheatsheet )
- Rust Language Cheat Sheet by Ralf Biedert
- Memoty Layout by Raph Levien
- Cheat Sheet by don bright : basics
- Concurrency by quambene
- Rust beginner cheat sheet : basics
( algo )
- Rust Gym by Larry Fantasy
- All Algorithms implemented in Rust by The Algorithms
- Rosetta Code: Rust by rust-rosetta
- Design Patterns in Rust by Alexander Fadeev
( dsl )
- Build a language VM by Fletcher Haynes ( reading ) ( edu_project ) ( dsl )
- Writing a Programming Language by Seán Kelleher ( 🎥 ) ( edu_project ) ( dsl )
( edu_project )
- Making our own executable packer by Amos ( reading ) ( edu_project ) ( about:memory )
- Writing a Programming Language by Seán Kelleher ( 🎥 ) ( edu_project ) ( dsl )
- Build a language VM by Fletcher Haynes ( reading ) ( edu_project ) ( dsl )
- Building a runtime reflection system for Rust by OSO
- Safety in Systems Programming from Stanford University by Ryan Eberhardt and Julio Ballista ( reading ) ( course )
- Comp Sci Rust Programming Course from University of Pennsylvania's ( reading ) ( course )
- Refactoring to Rust by Lily Mara 📘 ( book ) ( reading ) ( advanced ) :
- r4cppp by Nick Cameron : Rust for C++ programmers
( about:cross_compile ) ( specific )
- rust-cross by Jorge Aparicio ( reading ) ( article )
- Cross-Compiling Rust from macOS To Linux by Merlin Fuchs ( reading ) ( article )
- Cross compiling Rust from Linux to macOS by James Waples ( reading ) ( article )
- Cross compiling Windows binaries from Linux by Jake Shadle ( reading ) ( article )
( about:optimization )
- How to optimize size of binary executable by johnthagen ( reading ) ( article )
- How to optimize size of binary executable ( reading ) ( article )
- How to optimize size of WebAssembly binary executable ( reading ) ( article )
- Optimize Rust binaries size with cargo and Semver by Paul Delafosse ( reading ) ( article )
- Shrinking .wasm Code Size by Rust and WebAssembly ( reading ) ( article )
( about:optimization )
- The Rust Performance Book ( reading )
- Profile guided optimzation by Jakub Beránek ( reading ) ( article )
( about:concurrency )
- Asynchronous vs Multithreading by Learn Together ( cheatsheet ) ( about:concurrency )
- Rust Atomics and Locks by Mara Bos ( reading ) ( book ) ( about:concurrency )
- Concurrency by quambene ( cheatsheet ) ( about:concurrency ) : cheat sheet on concurrency and async
( about:async )
- Asynchronous Programming in Rust 🇬🇧 🏴☠️ ( reading ) ( official ) ( general ) ( course ) ( about:async )
- Async/await by Jon Gjengset ( introductory ) ( 🎥 ) : introduction into async/await
- The Why, What, and How of Pinning in Rust by Jon Gjengset ( introductory ) ( 🎥 )
- Introduction into tokio by Alice Ryhl ( reading ) ( course ) ( introductory )
- Async: What is blocking? by Alice Ryhl ( reading ) ( article ) ( introductory )
- Pin and suffering by Amos ( reading ) ( advanced )
- Workshop : implementing a chat server by Eliza Weisman ( reading ) ( teaching_materials )
( about:ownership_semantics )
- Deref vs AsRef vs Borrow vs Cow by Alex
- Understanding lifetimes in Rust by Thomas Heartman ( reading ) ( article )
- Common Rust Lifetime Misconceptions by pretzelhammer :
- Rust lifetimes book by okryvyts
- Sizedness in Rust by pretzelhammer : property of being sized or unsized
( about:mem )
- ⭐ Visualizing memory layout of Rust's data types by Sreekanth ( 🎥 ) ( article ) : all about memory layout
- Rust Visualized: The Stack, the Heap, and Pointers by Ender Minyard ( reading ) ( article )
- Strings in Rust by Erik Zivkovic ( reading ) ( article )
- Making our own executable packer by Amos ( reading ) ( course ) ( about:memory )
- Pointers Are Complicated by ralfj.de ( reading ) ( article )
- Pointers Are Complicated II, or: We need better language specs by ralfj.de ( reading ) ( article )
- Pointers Are Complicated III, or: Pointer-integer casts exposed by ralfj.de ( reading ) ( article )
- Memoty Layout by Raph Levien ( cheatsheet )
- The Rustonomicon ( course ) ( reading ) ( official ) : nonsafe programming
- Rust Atomics and Locks by Mara Bos ( reading ) ( book )
- The Rustonomicon ( course ) ( reading ) ( official ) : nonsafe programming
- Unsafe Code Guidelines Reference ( reading ) ( official )
( about:ffi )
- The UniFFI user guide ( reading )
( about:embed )
- ⭐ Discover the world of microcontrollers through Rust!
- Awesome Embed Rust by Rust Embedded ( collection ) : collection of learning resources and toolbox about Embed in Rust
- Embedded in Rust by Jorge Aparicio ( blog ) : blog about Embed in Rust
- The Rustonomicon ( course ) ( reading ) ( official ) : nonsafe programming
- High Assurance Rust ( course ) ( reading ) : developing secure and robust software
- The Embedded Rust Book ( course ) ( reading )
( about:embed )
( about:self_ref )
( about:closure )
- Finding Closure by Huon Wilson ( reading ) ( article )
- Understanding Closures by Andrew Pritchard ( reading ) ( article )
( about:web )
- Validating JSON input by Evaldas Buinauskas ( reading ) ( article )
- Web development with rust by Genus-v Programming ( 🎥 ) ( course )
- Rust back-end frameworks comparison
- Introduction to Axum ( 🎥 )
- Rust on Nails - full stack Axum project from start to deployment ( project )
( about:web ) ( about:web_frontend )
- Yew Crash Course by Jeff No Zhao ( 🎥 ) ( article )
- Rust + Elm : ( 🎥 )
- Overview of Elm : ( 🎥 )
( about:errors_handling )
( about:graphics )
- Learn Wgpu by sotrh : good introduction into wgpu ( reading ) ( course )
- WebGL water tutorial by Chinedu Francis Nwafili
- Unofficial Bevy Cheat Book by Ida Iyes
- Bevy Assets by Carter Anderson : collection of Bevy assets, plugins, learning resources, and apps
- Leaving Rust gamedev after 3 years
- Specs and Legion, two very different approaches to ECS
( predictions )
- History and Predictions ( 🎥 ) ( playlist )
- Why Isn't Functional Programming the Norm? by Richard Feldman ( 🎥 )
( teachings_material )
- 101-rs by Henk Oordt ( reading ) : Rust 101 is a university course for computer science students, introducing the Rust Programming Language.
- Rust by practice by Sunface ⚡
- Rust Incubator by Instrumentisto and our community ( reading ) ( course ) ( about:idiomatic )
- Effective Rust by David Drysdale ( reading ) ( course ) ( about:idiomatic )
- High Assurance Rust ( reading ) : developing secure and robust software
- Writing an OS in Rust by Philipp Oppermann
- Teaching Material by Ferrous
- Curriculum by Ferrous
- Embed Training by Ferrous
- Workshop : implementing a chat server by Eliza Weisman ( reading ) ( about:async )
- Comprehensive Rust by Google
- Rust Essential Training by Linkedin ( 🎥 ) ( course )
- Easy Rust by David MacLeod ( reading ) ( course )
- Tour of Rust 🇬🇧 🇺🇦 ( drill )
- Learn Rust Programming - Complete Course by Free Code Camp ( 🎥 ) ( course )
- Программирование на Rust by Computer Science Center ( 🎥 ) ( non-eng )
- ⭐ - fearured and strongly recommended
- ( general ) - general-purpose material
- ( specific ) - domain-specific material
- ( official ) - official Rust material
- ( non-eng ) - non-english language
- ( introductory ) - introductory level
- ( advanced ) - advanced level
- ( course ) - consists of series of text/video articles trying to give to a reader solid foundation
- ( book ) - a book
- ( reference ) - a reference
- ( article ) - either single article or single video-tutorial
- ( not-finished ) - not finished, too little to master
- ( reading ) - material to read
- ( 🎥 ) - material to watch
- ( audio ) - material to listen
- ( collection ) - list of resources
- ( newspaper ) - regularly updating list of articles
- ( cheatsheet ) - cheat sheet
- ( project ) - project
- ( algo ) - algorithmic problems and solutions
- ( edu_project ) - educational toy projects
- ( predictions ) - history and predictions
- ( blog ) - blog
- ( teachings_material ) - Teaching materials and Workshops
- ( teaching_materials ) - teaching materials
- ( about:setup ) - how to install rust and setup your development environment
- ( about:cargo ) - how to configure the Cargo workspace
- ( about:cli ) - about command line applications
- ( about:cross_compile ) - how to build from one platform to another one
- ( about:unsafe ) - features, available in unsafe rust, in detail
- ( about:mem ) - about memory management in Rust, the difference between heap, stack, code segments, etc
- ( about:optimization ) - size optimization
- ( about:concurrency ) - about concurrency
- ( about:async ) - about asynchronous programming
- ( about:ownership_semantics ) - about owning/borrowing/lifetimes
- ( about:closure ) - about closures
- ( about:self_ref ) - about self-referential structures
- ( about:macro ) - about macros
- ( about:webasm ) - about WebAssembly
- ( about:web ) - web development
- ( about:graphics ) - graphics
- ( about:errors_handling ) - proper error handling
- ( about:ffi ) - about foreign function interface
- ( about:embed ) - embeded software