{"id":13458346,"url":"https://github.com/ctjhoa/rust-learning","last_synced_at":"2025-04-14T08:54:29.258Z","repository":{"id":31644976,"uuid":"35210243","full_name":"ctjhoa/rust-learning","owner":"ctjhoa","description":"A bunch of links to blog posts, articles, videos, etc for learning Rust","archived":false,"fork":false,"pushed_at":"2024-10-24T18:33:46.000Z","size":664,"stargazers_count":11793,"open_issues_count":5,"forks_count":800,"subscribers_count":310,"default_branch":"master","last_synced_at":"2025-04-07T01:10:03.148Z","etag":null,"topics":["blog-article","book","hacktoberfest","learn","rust","teaching","tutorial","video"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"zpingmapay/xpay","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctjhoa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-07T09:10:36.000Z","updated_at":"2025-04-06T15:42:48.000Z","dependencies_parsed_at":"2023-01-14T19:28:05.033Z","dependency_job_id":"9ba8a2ba-def4-41d5-8896-9091f3832d96","html_url":"https://github.com/ctjhoa/rust-learning","commit_stats":{"total_commits":643,"total_committers":121,"mean_commits":5.31404958677686,"dds":0.3203732503888025,"last_synced_commit":"e7d194b9f2439cb8eb6d571afa1ff46a8722c060"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctjhoa%2Frust-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctjhoa%2Frust-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctjhoa%2Frust-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctjhoa%2Frust-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctjhoa","download_url":"https://codeload.github.com/ctjhoa/rust-learning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248852109,"owners_count":21171839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog-article","book","hacktoberfest","learn","rust","teaching","tutorial","video"],"created_at":"2024-07-31T09:00:51.233Z","updated_at":"2025-04-14T08:54:29.225Z","avatar_url":"https://github.com/ctjhoa.png","language":null,"readme":"# rust-learning [![Build Status](https://github.com/ctjhoa/rust-learning/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/ctjhoa/rust-learning/actions/workflows/main.yml)\n\nA bunch of links to blog posts, articles, videos, etc for learning Rust. Feel free to submit a pull request if you have some links/resources to add. Also, I try to verify that the articles below have some real content (i.e. they aren't 2 paragraph long blog posts with little information) to ensure I'm not listing \"fluff\" pieces. If you have an idea for a better way to organize these links, please let me know.\n\n## Introduction\n\n*Do you want to be convinced that Rust is worth learning?* Let us show you the [True Nature of the Force](https://brson.github.io/fireflowers/).\n\nThe main documentation is always the best beginning, so if you haven't read it yet, start by reading the [Rust docs](https://www.rust-lang.org/en-US/documentation.html). You can also have the ebook versions of the doc [here](http://killercup.github.io/trpl-ebook/) and [here](https://github.com/lise-henry/books/).\n\n### Tag meanings\n\n* :star: Something made by a rust team member.\n* :end: Concepts are still useful but code could not compile.\n* :soon: Work In Progress.\n\n## Table of Contents\n\n* [Books](#books)\n* [Videos](#videos)\n  * [Playlists](#playlists)\n  * [Presentations](#presentations)\n* [Podcasts](#podcasts)\n* [Rust in practice](#rust-in-practice)\n* [Best Practices/Style Guides](#best-practicesstyle-guides)\n* [Cheat sheets](#cheat-sheets)\n* [Rust internals](#rust-internals)\n* [Compilation](#compilation)\n* [FFI](#ffi)\n* [CI / Testing](#ci--testing)\n* [Debug / Profiling](#debug--profiling)\n* [Are we ... yet?](#are-we--yet)\n* [Comparison with Other Languages](#comparison-with-other-languages)\n* [Applications / Libraries / Tools](#applications--libraries--tools)\n* [Language stuff](#language-stuff)\n  * [Async](#async)\n  * [Closures](#closures)\n  * [Documentation](#documentation)\n  * [Enums](#enums)\n  * [Errors](#errors)\n  * [Iterators](#iterators)\n  * [Lifetime](#lifetime)\n  * [MIR](#mir)\n  * [Modules](#modules)\n  * [Option \u0026 Result](#option--result)\n  * [Ownership / Concurrency](#ownership--concurrency)\n  * [Privacy](#privacy)\n  * [Strings](#strings)\n  * [Syntax extensions](#syntax-extensions)\n  * [Traits](#traits)\n  * [Unsafe](#unsafe)\n* [Playground](#playground)\n* [Locale links](#locale-links)\n* [People](#people)\n  * [Fearless Rust Bloggers](#fearless-rust-bloggers)\n* [Tutorials \u0026 Workshop Materials](#tutorials--workshop-materials)\n* [Similar projects](#similar-projects)\n\n## Books\n\n* :star: [The Rust Programming Language](https://doc.rust-lang.org/stable/book/) - [repo](https://github.com/rust-lang/book)\n* :star: [The Rust Reference](https://doc.rust-lang.org/stable/reference/) - [repo](https://github.com/rust-lang/reference)\n* :star: [The Rustonomicon - The Dark Arts of Advanced and Unsafe Rust Programming](https://doc.rust-lang.org/stable/nomicon/) - [repo](https://github.com/rust-lang/nomicon)\n* :star: [The Unstable Book](https://doc.rust-lang.org/stable/unstable-book/) - [repo](https://github.com/rust-lang/rust/tree/master/src/doc/unstable-book)\n* :star: [The Rust Edition Guide](https://doc.rust-lang.org/edition-guide/) - [repo](https://github.com/rust-lang/edition-guide)\n* :star: [The Rust Async Book](https://rust-lang.github.io/async-book/) - [repo](https://github.com/rust-lang/async-book)\n* :star: [Rust Cookbook](https://rust-lang-nursery.github.io/rust-cookbook/) - [repo](https://github.com/rust-lang-nursery/rust-cookbook)\n* :star: [Why Rust?](https://www.oreilly.com/content/why-rust/) - [Jim Blandy][]\n* :star: [The Embedded Rust Book](https://rust-embedded.github.io/book/intro/index.html) - [repo](https://github.com/rust-embedded/book) - Rust Embedded WG\n* :star: [The Cargo Book](https://doc.rust-lang.org/stable/cargo/) - [repo](https://github.com/rust-lang/cargo/tree/master/src/doc)\n* [Rust-101](https://www.ralfj.de/projects/rust-101/main.html) - Ralf Jung\n* [Rust Essentials](https://www.packtpub.com/application-development/rust-essentials-second-edition) -  Ivo Balbaert\n* [Programming Rust](http://shop.oreilly.com/product/0636920040385.do) - [Jim Blandy][], Jason Orendorff\n* [Mastering Rust - Second Edition](https://www.packtpub.com/application-development/mastering-rust-second-edition) - Rahul Sharma \u0026 Vesa Kaihlavirta\n* :soon: [Refactoring to Rust](https://www.manning.com/books/refactoring-to-rust) - [repo](https://github.com/natemara/refactoring-to-rust) - Nate Mara\n* :star: [Rust Anthology](https://github.com/brson/rust-anthology) - [Brian Anderson][]\n* [Rust in Action](https://www.manning.com/books/rust-in-action) - [repo](https://github.com/rust-in-action/code) - [Tim McNamara][]\n* [Zero To Production In Rust](https://zero2prod.com) - [repo](https://github.com/LukeMathWalker/zero-to-production) - [Luca Palmieri][]\n* [Network Programming in Rust](https://www.packtpub.com/application-development/network-programming-rust) - Abhishek Chanda\n* [Learning Rust](https://www.packtpub.com/application-development/learning-rust) -  Paul Johnson, Vesa Kaihlavirta\n* [Rust Cookbook](https://www.packtpub.com/application-development/rust-cookbook) -  Vigneshwer Dhinakaran\n* [Learning Rust](https://learning-rust.github.io/) - [Dumindu Madunuwan][]\n* [A Gentle Introduction To Rust](http://stevedonovan.github.io/rust-gentle-intro/readme.html) - [Steve Donovan][]\n* [Step Ahead with Rust](https://www.amazon.com/dp/0999361805/) - Jonathan Creekmore\n* :star: [Rust Programming By Example](https://www.amazon.com/dp/1788390636) - Guillaume Gomez and Antoni Boucher\n* [Beginning Rust - From Novice to Professional](https://www.apress.com/us/book/9781484234679) - Carlo Milanesi\n* [Hands-On Concurrency with Rust](https://www.amazon.com/dp/1788399978) - Brian Troutwine\n* [Hands-On Functional Programming in Rust](https://www.amazon.com/dp/1788839358) - Andrew Johnson\n* [Hands-On Rust Effective Learning through 2D Game Development and Play](https://pragprog.com/titles/hwrust/hands-on-rust) - Herbert Wolverson\n* [Hands-On Microservices with Rust](https://www.packtpub.com/web-development/hands-microservices-rust) - Denis Kolodin\n* [Hands-On Data Structures and Algorithms with Rust](https://www.packtpub.com/application-development/hands-data-structures-and-algorithms-rust) - Claus Matzinger\n* [Rust Standard Library Cookbook](https://www.amazon.com/Rust-Standard-Library-Cookbook-leverage/dp/1788623924) - Daniel Durante, Jan Nils Ferner\n* [Rust Quick Start Guide](https://www.amazon.com/Rust-Quick-Start-Guide-programming/dp/1789616700) - Daniel Arbuckle\n* [Rust High Performance](https://www.amazon.com/Rust-High-Performance-performance-applications/dp/178839948X) - Iban Eguia Moraza\n* [Programming WebAssembly with Rust](https://pragprog.com/titles/khrust/programming-webassembly-with-rust/) - Kevin Hoffman\n* [Hands-On Microservices with Rust 2018: How To Build Scalable and Reliable RESTful Microservices](https://www.amazon.co.uk/Hands-Microservices-Rust-2018-Scalable/dp/1789342759/ref=sr_1_6?s=books\u0026ie=UTF8\u0026qid=1545340800\u0026sr=1-6\u0026keywords=rust) - Denis Kolodin\n* [Hands-On Data Structures and Algorithms with Rust](https://www.packtpub.com/application-development/hands-data-structures-and-algorithms-rust) - Claus Matzinger\n* [The Complete Rust Programming Reference Guide: Design, develop, and deploy effective software systems using the advanced constructs of Rust](https://www.amazon.com/Complete-Rust-Programming-Reference-Guide/dp/1838828109) - - Vesa Kaihlavirta, Rahul Sharma, Claus Matzinger\n* [Easy Rust](https://github.com/Dhghomon/easy_rust) - David MacLeod\n* [Rust Web Development](https://www.manning.com/books/rust-web-development) - [repo](https://github.com/Rust-Web-Development/code) - Bastian Gruber\n* [The Little Book of Rust Books](https://lborb.github.io/book/) - [repo](https://github.com/lborb/book)\n* [Rust Servers, Services, and Apps](https://www.manning.com/books/rust-servers-services-and-apps) - Prabhu Eshwarla\n* [Code Like a Pro in Rust](https://www.manning.com/books/code-like-a-pro-in-rust) - Brenden Matthews\n* [Rust for Rustaceans](https://nostarch.com/rust-rustaceans) - Jon Gjengset\n* [Rust From the Ground Up](https://rftgu.rs/) - Matthew Provost\n* [Comprehensive Rust](https://google.github.io/comprehensive-rust/) - Google\n* [Rust Atomics and Locks](https://learning.oreilly.com/library/view/-/9781098119430/) - Mara Bos\n* [Command-Line Rust](https://www.oreilly.com/library/view/command-line-rust/9781098109424/) - Ken Youens-Clark\n* [High Assurance Rust: Developing Secure and Robust Software](https://highassurance.rs/) - Tiemoko Ballo\n\n## Videos\n\n### Playlists\n\n* :star: [Rust and the Future of Systems Programming](https://www.youtube.com/playlist?list=PLo3w8EB99pqJ74XIGe72c9hBZWz9Y16cY) - Mozilla\n* [RustFest Zürich 2017](https://www.youtube.com/watch?v=jywiVWKm1TI\u0026list=PL85XCvVPmGQj9mqbJizw-zi-EhcpS5jTP)\n* [ABitWiseGuy Tutorials](https://www.youtube.com/watch?v=y-ks-_VDkiA\u0026list=PL0Fqs05rod8D80WKBCeT326CT8vcAm_N9) - ABitWiseGuy\n* [dcode Tutorials](https://www.youtube.com/watch?v=vOMJlQ5B-M0\u0026list=PLVvjrrRCBy2JSHf9tGxGKJ-bYAN_uDCUL) - dcode\n* [maxday_coding](https://www.youtube.com/watch?v=Idys2BAmqIU\u0026list=PLCqkr2gc0bmZZOvjXC6BJGTGEuah_1Hbi) - ASMR Live Coding\n* [Tensor Programming Tutorials](https://www.youtube.com/watch?v=EYqceb2AnkU\u0026list=PLJbE2Yu2zumDF6BX6_RdPisRVHgzV02NW) - Tensor Programming\n* [Hello Rust!](https://www.youtube.com/channel/UCZ_EWaQZCZuGGfnuqUoHujw) - Matthias Endler\n* [YouCodeThings](https://www.youtube.com/channel/UC0yCXVwW6FdDQGYA-3OWXxw/) - Andrew Jakubowicz\n* :star: :soon: [Rust in Motion](https://www.manning.com/livevideo/rust-in-motion) - Video course by [Carol Nichols][] and Jake Goulding\n* [Learn Rust in 7 Days](https://www.packtpub.com/application-development/learn-rust-7-days-video) - Matthew Stoodley\n* [Rust Tutorial](https://www.youtube.com/watch?v=Az3jBd4xdF4\u0026list=PLLqEtX6ql2EyPAZ1M2_C0GgVd4A-_L4_5) - Doug Milford\n* [Rust](https://www.youtube.com/watch?v=bR4nGWmfzTk\u0026list=PLVhhUNGAUIQScqB26DdUq4n1Y2n3auM7X) - Crazcalm's Tech Stack\n* [Rust Advent of Code 2019](https://www.youtube.com/playlist?list=PLQXBtq4j4Ozkx3r4eoMstdkkOG98qpBfg) - Brian Myers\n* [The Rust Programming Language | Tutorials](https://www.youtube.com/playlist?list=PLK_g1a_cAfaaAO6io1Tluy7EZXhAAK1lC) - danlogs\n* [Ryan Levick's Rust Stream](https://www.youtube.com/channel/UCpeX4D-ArTrsqvhLapAHprQ/videos) - Ryan Levick\n* [Crust of Rust](https://www.youtube.com/playlist?list=PLqbS7AVVErFiWDOAVrPt7aYmnuuOLYvOa) - Jon Gjengset\n* [ULTIMATE Rust Lang Tutorial!](https://www.youtube.com/watch?v=OX9HJsJUDxA\u0026list=PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8) - Let's Get Rusty\n* [Overview of the Rust Programming Language](https://www.youtube.com/watch?v=gesNaLkUJeA\u0026list=PLP2yfE2-FXdQmXLvrQ5QN64enbF_KCYQW) - [Jonathan Turner][]\n* [Manning Publications Rust channel](https://www.youtube.com/c/ManningPublications/search?query=rust) - Manning Publications\n* [Introduction to Programming with Rust](https://www.youtube.com/playlist?list=PLbtjxiXev6lpd331MW2dB7UgSIovgv169) - Rhymu's Videos\n* [Rust Linz](https://www.youtube.com/playlist?list=PL85XCvVPmGQgL3lqQD5ivLNLfdAdxbE_u) - A Rust Meetup aimed at beginners\n* [Rust Programming Tutorial 🦀](https://www.youtube.com/playlist?list=PLDbRgZ0OOEpUkWDGqp91ODn0dk7LPBAUL) - Rust fundamentals YouTube playlist by [Trevor Sullivan](https://docs.opensrc.dev)\n\n### Presentations\n\n* 2021-06-25 - [How to learn Rust](https://youtu.be/sDtQaO5_SOw) - [Tim McNamara][]\n* 2021-06-01 - [A Firehose of Rust, for busy people who know some C++](https://www.youtube.com/watch?v=IPmRDS0OSxM) - Jack O'Connor\n* 2020-09-21 - [live@Manning Rust Conference](https://www.youtube.com/watch?v=9nINNurVqz8) - [Carol Nichols][], [Tim McNamara][], Maciej Hirsz, Olivia Ifrim, Nell Shamrell-Harrington, Pierre Krieger, Richard Walters, Chris Griffing, Lachezar Lechev, Michael Hausenblas\n* 2018-08-17 - [Using Rust For Game Development](https://www.youtube.com/watch?v=aKLntZcp27M) - Catherine West\n* 2017-06-20 - :star: [Rust: Putting Ownership to Use](https://www.youtube.com/watch?v=wXoY91w4Agk) - [Niko Matsakis][]\n* 2017-01-20 - [Rust 101](https://www.youtube.com/watch?v=FMqydRampuo) - E. Dunham\n* 2016-09-28 - [Mozilla's Rust and why we love it](https://www.youtube.com/watch?v=LuNhkRxP2E4) - Cambridge Consultants\n* 2016-09-25 - :star: [into_rust() - Screencasts for learning rust!](http://intorust.com/) - [Niko Matsakis][]\n* 2016-08-28 - :star: [Rust: Safe and Scalable Systems Programming](https://www.youtube.com/watch?v=GbWECt0M3CI) - [Alex Crichton][]\n* 2016-06-21 - :star: [The History of Rust](https://www.youtube.com/watch?v=79PSagCD_AY) - [Steve Klabnik][]\n* 2015-08-01 - :star: [RustCamp 2015](https://www.youtube.com/watch?v=0qIAk5sTwEo\u0026list=PLE7tQUdRKcybdIw61JpCoo89i4pWU5f_t)\n* 2015-06-22 - [LambdaConf 2015 - In Rust We Trust](https://www.youtube.com/watch?v=-dxqbhLIgdM) - Alex Burkhart\n* 2015-06-13 - :star: [What Is Rust?](http://www.infoq.com/presentations/rust-gc) - [Yehuda Katz][]\n* 2015-04-11 - [My Python's a little Rust-y](https://www.youtube.com/watch?v=3CwJ0MH-4MA) - [Dan Callahan][]\n* 2015-03-12 - :star: [Stanford Seminar](https://www.youtube.com/watch?v=O5vzLKg7y-k) - [Aaron Turon][]\n\n## Podcasts\n\n* [Moves and Borrowing In Rust With Jim Blandy](https://corecursive.com/016-moves-and-borrowing-in-rust-with-jim-blandy/) - Adam Bell\n* [New Rustacean](https://pca.st/DG0A) - [Chris Krycho][]\n* [The Request for Explanation Podcast: A weekly discussion of Rust RFCs](https://request-for-explanation.github.io/podcast/) - [Manish Goregaokar][]\n* [Rust And Bitter C++ Developers With Jim Blandy](https://corecursive.com/013-rust-and-bitter-c-developers-with-jim-blandy/) - Adam Bell\n* [AreWePodcastYet](https://soundcloud.com/arewepodcastyet)\n* [Rustacean Station](https://rustacean-station.org/)\n\n## Rust in practice\n\n* :star: [Rust By Example](https://doc.rust-lang.org/stable/rust-by-example/) - [Jorge Aparicio][] and [Steve Klabnik][] - [repo](https://github.com/rust-lang/rust-by-example)\n* [rosettacode](https://github.com/Hoverbear/rust-rosetta) - [Ana Hoverbear][]\n* [Why your first FizzBuzz implementation may not work](http://chrismorgan.info/blog/rust-fizzbuzz.html) - [Chris Morgan][]\n* :star: [An annotation of the Rust standard library](https://github.com/brson/annotated-std-rs) - [Brian Anderson][]\n* [ProjectEulerRust](https://github.com/gifnksm/ProjectEulerRust) - gifnksm\n* [Advent of Code](https://github.com/LD250/adventofcode_rust) - Denys Levchenko\n* [Rust in Detail: Writing Scalable Chat Service from Scratch](https://nbaksalyar.github.io/) - Nikita Baksalyar\n* :star: [rustlings: small rust exercises](https://github.com/carols10cents/rustlings) - [Carol Nichols][]\n* [Learning Rust With Entirely Too Many Linked Lists](http://cglab.ca/~abeinges/blah/too-many-lists/book/) - [Alexis Beingessner][]\n* :star: [Let's build a browser engine!](http://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) - Matt Brubeck\n* [Understanding Over Guesswork](http://hoverbear.org/2015/09/12/understand-over-guesswork/) - [Ana Hoverbear][]\n* [Writing an OS in Rust 1st edition](http://os.phil-opp.com/) [2nd edition](https://os.phil-opp.com/second-edition/) - Philipp Oppermann\n* [Creating Nintendo 64 emulator from scratch in Rust!](https://www.youtube.com/playlist?list=PL-sXmdrqqYYcznDg4xwAJWQgNL2gRray2) - Jake Taylor\n* [The Many Kinds of Code Reuse in Rust](http://cglab.ca/~abeinges/blah/rust-reuse-and-recycle/) - [Alexis Beingessner][]\n* [Make a Lisp](https://github.com/kanaka/mal) - Joel Martin\n* :star: [Modeling Graphs in Rust Using Vector Indices](http://smallcultfollowing.com/babysteps/blog/2015/04/06/modeling-graphs-in-rust-using-vector-indices/) - [Niko Matsakis][]\n* [24 days of Rust series](https://siciarz.net/tag/24%20days%20of%20rust/) - Zbigniew Siciarz\n* :star: [Rust Cookbook](https://github.com/brson/rust-cookbook)\n* :star: [Rust and CSV Parsing](http://blog.burntsushi.net/csv/) - [Andrew Gallant][]\n* [Algorithm Cookbook in Rust](https://github.com/EbTech/rust-algorithms) - Aram Ebtekar\n* :star: [stdx - The missing batteries of Rust](https://github.com/brson/stdx) - [Brian Anderson][]\n* [Rust - exercism.org](https://exercism.org/tracks/rust)\n* [Building a DNS server in Rust](https://github.com/EmilHernvall/dnsguide) - Emil Hernvall\n* [Rust Crash Course](https://www.snoyman.com/feed/rust-crash-course) - Michael Snoyman\n* [Web browser from scratch in Rust](https://joshondesign.com/tags/browser) - Josh Marinacci\n* [Tour of Rust](https://tourofrust.com/) - Richard Anaya\n* [PNGme: An Intermediate Rust Project](https://jrdngr.github.io/pngme_book/) - Jordan Grace\n* [Create Your Own Programming Language with Rust](https://createlang.rs/) - Ehsan M. Kermani\n* :star: [Command Line Applications in Rust](https://rust-cli.github.io/book/) - Rust CLI working\n* [Writing a file system from scratch in Rust](https://blog.carlosgaldino.com/writing-a-file-system-from-scratch-in-rust.html) - Carlos Galdino\n* [Hecto: Build your own text editor in Rust](https://www.flenker.blog/hecto/) - Philipp Flenker\n* [Rust sokoban](https://sokoban.iolivia.me/) - Olivia Ifrim\n* [Rust Gym](https://github.com/warycat/rustgym) - Yinchu Xia\n* :star: [Rust Quiz](https://dtolnay.github.io/rust-quiz) - [David Tolnay][]\n* [Blessed - An unofficial guide to the Rust ecosystem](https://blessed.rs/crates) - Nico Burns\n* [Build a Lua Interpreter in Rust](https://wubingzheng.github.io/build-lua-in-rust/en/) - Wu Bingzheng\n* [Object Soup is Made of Indexes](https://jacko.io/object_soup.html) - Jack O'Connor\n* [Implementing a BitTorrent client in Rust](https://www.youtube.com/watch?v=jf_ddGnum_4\u0026t=135s\u0026ab_channel=JonGjengset) - Jon Gjengset\n* [Rust on Serverless](https://www.youtube.com/watch?v=i6FKvK5JQ8o\u0026list=PLCOG9xkUD90KQ1IPQT_m1NbPRXXRFb63s) - YouTube playlist exploring the use of Rust to build serverless applications by [James Eastham](https://jameseastham.co.uk)\n\n## Best Practices/Style Guides\n\n* :star: [Rust Design Patterns](https://github.com/nrc/patterns) - [Nick Cameron][]\n* :star: [Error Handling in Rust](http://blog.burntsushi.net/rust-error-handling/) - [Andrew Gallant][]\n* :star: [Rust API guidelines](https://github.com/rust-lang/api-guidelines) - [Brian Anderson][]\n* [Design Patterns in Rust](https://github.com/fadeevab/design-patterns-rust) - [Alexander Fadeev][]\n* [Reading Rust Function Signatures](http://hoverbear.org/2015/07/10/reading-rust-function-signatures/) - [Ana Hoverbear][]\n* [Good Practices for Writing Rust Libraries](https://pascalhertleif.de/artikel/good-practices-for-writing-rust-libraries/) - [Pascal Hertleif][]\n* [Rustic Bits](https://llogiq.github.io/2016/02/11/rustic.html) - [Llogiq][]\n* [Pretty State Machine Patterns in Rust](https://hoverbear.org/2016/10/12/rust-state-machine-pattern/) - [Ana Hoverbear][]\n* [Elegant Library APIs in Rust](https://scribbles.pascalhertleif.de/elegant-apis-in-rust.html) - [Pascal Hertleif][]\n* [Rust Performance Pitfalls](https://llogiq.github.io/2017/06/01/perf-pitfalls.html) - [Llogiq][]\n* [How to write CRaP Rust code](https://blog.logrocket.com/how-to-write-crap-rust-code/) - [Llogiq][]\n* [The Rust Performance Book](https://github.com/nnethercote/perf-book) - Nicholas Nethercote\n* [The Typestate Pattern in Rust](http://cliffle.com/blog/rust-typestate/) - Cliff L. Biffle\n\n## Cheat sheets\n\n* :star: [Syntax Index](https://doc.rust-lang.org/book/syntax-index.html)\n* [Rust Iterator Cheat Sheet](https://danielkeep.github.io/itercheat_baked.html) - [Daniel Keep][]\n* [Rust String Conversions Cheat Sheet](https://docs.google.com/spreadsheets/d/19vSPL6z2d50JlyzwxariaYD6EU2QQUQqIDOGbiGQC7Y/pubhtml?gid=0\u0026single=true) - GavinB\n* [Rustic Symmetries](https://github.com/kmcallister/rustic-symmetries/blob/master/README.md#rustic-symmetries) - kmc\n* [Rust Container Cheat Sheet](https://docs.google.com/presentation/d/1q-c7UAyrUlM-eZyTo1pd8SZ0qwA_wYxmPZVOQkoDmH4/edit?usp=sharing) - Raph Levien\n* [Graphical depiction of ownership and borrowing in Rust](https://rufflewind.com/img/rust-move-copy-borrow.png) - Phil Ruffwind\n* [Lifetime Reference](https://charlesetc.inclouds.space/lifetime-reference/) - Charles\n* [Phaiax's Rust Cheatsheet](http://phaiax.github.io/rust-cheatsheet/) - Phaiax\n* [Rust Language Cheat Sheet](https://cheats.rs/) - Ralf Biedert\n* [Rust cheat sheet (beginner-oriented)](https://www.breakdown-notes.com/make/load/rust_cs_canvas/true)\n* [A type-based Rust cheatsheet](https://upsuper.github.io/rust-cheatsheet/) - Xidorn Quan\n\n## Rust internals\n\n* :star: [Rust RFCs](https://github.com/rust-lang/rfcs) and [Accepted RFCs](https://rust-lang.github.io/rfcs/)\n* :star: [Rust Forge](https://forge.rust-lang.org/)\n* :star: [Internals Forum](https://internals.rust-lang.org/)\n\n## Compilation\n\n* [rust-cross, Everything you need to know about cross compiling Rust programs!](https://github.com/japaric/rust-cross) - [Jorge Aparicio][]\n* [How to cross compile Rust from OS X to FreeBSD](https://github.com/yohanesu75/crossrust) - yohanesu75\n* [Cross Compiling for Raspberry Pi](https://github.com/Ogeon/rust-on-raspberry-pi) - Ogeon\n* :star: [Taking Rust everywhere with rustup](http://blog.rust-lang.org/2016/05/13/rustup.html) - [Brian Anderson][]\n* [Why is a Rust executable large?](https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html) - Kang Seonghoon\n* [Rust your ARM microcontroller!](http://blog.japaric.io/quickstart/) - [Jorge Aparicio][]\n* [Cross-compiling Rust for the Raspberry Pi on macOS](https://akappel.github.io/2017/11/07/rpi-crosstool.html) - Adrian Kappel\n* [rust-on-mobile](https://github.com/mtak-/rust-on-mobile) - mtak-\n* [Compile Time Feature Flags in Rust](https://www.worthe-it.co.za/programming/2018/11/18/compile-time-feature-flags-in-rust.html) - Justin Worthe\n* [Rust on iOS](https://medium.com/visly/rust-on-ios-39f799b3c1dd) - Emil Sjölander\n\n## FFI\n\n* 2017-11-22 - [Writing fast and safe native Node.js modules with Rust](https://blog.risingstack.com/node-js-native-modules-with-rust/) - Peter Czibik\n* 2017-09-21 - [Building and Deploying a Rust library on Android](https://mozilla.github.io/firefox-browser-architecture/experiments/2017-09-21-rust-on-android.html) - Emily Toop\n* 2017-09-06 - [Building and Deploying a Rust library on iOS](https://mozilla.github.io/firefox-browser-architecture/experiments/2017-09-06-rust-on-ios.html) - Emily Toop\n* 2020-09-08 - [I C and .so does Rust](https://prateeknischal.github.io/posts/i-c-and-so-does-rust/) - prateeknischal\n* [The Rust FFI Omnibus](http://jakegoulding.com/rust-ffi-omnibus/?updated=2015-11-08) - Jake Goulding\n* [The Rust FFI Guide - using unsafe for fun and profit](https://michael-f-bryan.github.io/rust-ffi-guide/) - Michael-F-Brya\n\n## CI / Testing\n\n* [Helping Travis catch the rustc train part 1](https://huonw.github.io/blog/2015/04/helping-travis-catch-the-rustc-train/) | [part 2](https://huonw.github.io/blog/2015/05/travis-on-the-train-part-2/) - [Huon Wilson][]\n* [Rust, Travis, and Github Pages](http://hoverbear.org/2015/03/07/rust-travis-github-pages/) - [Ana Hoverbear][]\n* [Shave Some Time From Your Travis Builds](https://llogiq.github.io/2016/07/05/travis.html) - [Llogiq][]\n* [How to collect test coverages for a rust project](https://users.rust-lang.org/t/tutorial-how-to-collect-test-coverages-for-rust-project/650) - lifthrasiir\n* [Rust Performance Testing on Travis CI](https://beachape.com/blog/2016/11/02/rust-performance-testing-on-travis-ci/) - Lloyd\n* [Ensuring Beautiful Commits with rustfmt and Travis-CI](http://kneit.in/2016/11/26/rustfmt-in-travisci.html) - Kyle Kneitinger\n* [Great Rust CI](https://dev.to/cad97/great-rust-ci-1fk6) - Christopher Durham\n* [Rust Fuzz Book](https://rust-fuzz.github.io/book/)\n* [Rust for JavaScript Developers: An Overview of Testing](https://www.shuttle.rs/blog/2023/11/08/testing-in-rust) - Joshua Mo\n\n## Debug / Profiling\n\n* [Debugging a segfault in my Rust program](https://jvns.ca/blog/2017/12/23/segfault-debugging/) - Julia Evans\n* [Compiler Explorer - See Rust code as assembly](https://rust.godbolt.org/)\n* [Profiling Rust applications on Linux](http://llogiq.github.io/2015/07/15/profiling.html) - [Llogiq][]\n\n## Are we ... yet?\n\n* [Are we web yet?](http://www.arewewebyet.org/)\n* [Are we (I)DE yet?](https://areweideyet.com/)\n* [Are we game yet?](http://arewegameyet.com/)\n* [Are we learning yet?](http://www.arewelearningyet.com/)\n* [Are we async yet?](https://areweasyncyet.rs/)\n* [Not-Yet-Awesome Rust](https://github.com/ErichDonGubler/not-yet-awesome-rust)\n* [Are we GUI yet?](http://areweguiyet.com/)\n\n## Comparison with Other Languages\n\n* [Rust::from(lang)](https://github.com/mgattozzi/rust-from-lang) - [Michael Gattozzi][]\n* Others:\n\n| Languages       | Links                                    |\n| --------------- | ---------------------------------------- |\n| C#              | \u003cul\u003e\u003cli\u003e[Exploring Rust (from C#)](http://nblumhardt.com/2016/03/exploring-rust/) - Nicholas Blumhardt\u003c/li\u003e\u003c/ul\u003e |\n| C/C++           | \u003cul\u003e\u003cli\u003e[Rust For Systems Programmers](https://github.com/nrc/r4cppp) \u0026 [Rust for C++ Programmers](https://www.gitbook.com/book/aminb/rust-for-c/details) - [Nick Cameron][]\u003c/li\u003e\u003cli\u003e[I used to use pointers - now what?](https://github.com/diwic/reffers-rs/blob/master/docs/Pointers.md) - diwic\u003c/li\u003e\u003cli\u003e[Comparing parallel Rust and C++](https://parallel-rust-cpp.github.io/) - matiaslindgren\u003c/li\u003e\u003cli\u003e[Zero cost abstractions: Rust vs C++](https://www.rottedfrog.co.uk/?p=24) - rottedfrog\u003c/li\u003e\u003cli\u003e[A Firehose of Rust, for busy people who know some C++](https://www.youtube.com/watch?v=IPmRDS0OSxM) - Jack O'Connor\u003c/li\u003e\u003cli\u003e[Unsafe Rust is not C](https://www.youtube.com/watch?v=DG-VLezRkYQ) - Jack O'Connor\u003c/li\u003e\u003c/ul\u003e |\n| Clojure         | \u003cul\u003e\u003cli\u003e[Rust for Clojurists](https://gist.github.com/oakes/4af1023b6c5162c6f8f0) - Zach Oakes\u003c/li\u003e\u003c/ul\u003e |\n| Go | \u003cul\u003e\u003cli\u003e[Rust vs Go](https://bitfieldconsulting.com/golang/rust-vs-go) - John Arundel\u003c/li\u003e\u003cli\u003e[Rust vs. Go](http://julio.meroh.net/2018/07/rust-vs-go.html) - Julio Merino\u003c/li\u003e\u003c/ul\u003e |\n| Java/Scala            | \u003cul\u003e\u003cli\u003e[Comparing Rust and Java](https://llogiq.github.io/2016/02/28/java-rust.html) - [Llogiq][]\u003c/li\u003e\u003cli\u003e[A light comparison between Rust and Java generics and type system features.](https://gist.github.com/Kimundi/8391398) - Marvin Löbel\u003c/li\u003e\u003cli\u003e[Rust: A Scala Engineer's Perspective](https://beachape.com/blog/2017/05/24/rust-from-scala/) - Lloyd \u003c/li\u003e\u003cli\u003e[Rust for professionals](https://overexact.com/rust-for-professionals/) - Pascal\u003c/li\u003e\u003c/ul\u003e |\n| JavaScript      | \u003cul\u003e\u003cli\u003e[Rust's Ownership model for JavaScript developers](http://blog.thoughtram.io/rust/2015/05/11/rusts-ownership-model-for-javascript-developers.html) - [Christoph Burgdorf][]\u003c/li\u003e\u003cli\u003e[Rust for Node developers](https://github.com/Mercateo/rust-for-node-developers) - Donald Pipowitch\u003c/li\u003e\u003cli\u003e[Rust for professionals](https://overexact.com/rust-for-professionals/) - Pascal\u003c/li\u003e\u003c/ul\u003e |\n| Nim             | \u003cul\u003e\u003cli\u003e[A Quick Comparison of Nim vs. Rust](https://arthurtw.github.io/2015/01/12/quick-comparison-nim-vs-rust.html) - Arthur Liao\u003c/li\u003e\u003c/ul\u003e |\n| Nodejs          | \u003cul\u003e\u003cli\u003e[Rust for Node developers](https://github.com/Mercateo/rust-for-node-developers) - Donald Pipowitch\u003c/li\u003e\u003c/ul\u003e |\n| OCaml / Haskell | \u003cul\u003e\u003cli\u003e[Rust for functional programmers](http://science.raphael.poss.name/rust-for-functional-programmers.html)\u003c/li\u003e\u003c/ul\u003e |\n| Python          | \u003cul\u003e\u003cli\u003e[Rust for Python Programmers](http://lucumr.pocoo.org/2015/5/27/rust-for-pythonistas/) - Armin Ronacher\u003c/li\u003e\u003cli\u003e[py2rs](https://github.com/rochacbruno/py2rs) - Bruno Rocha\u003c/li\u003e\u003c/ul\u003e |\n| Ruby            | \u003cul\u003e\u003cli\u003e[Rust for Rubyists](https://github.com/steveklabnik/rust_for_rubyists) - [Steve Klabnik][]\u003c/li\u003e\u003c/ul\u003e |\n| Swift           | \u003cul\u003e\u003cli\u003e[A Swift guide to Rust](http://faq.sealedabstract.com/rust/) - sealedabstract\u003c/li\u003e\u003cli\u003e[Rust and Swift](http://www.chriskrycho.com/rust-and-swift.html) - [Chris Krycho][]\u003c/li\u003e\u003c/ul\u003e |\n| Erlang           | \u003cul\u003e\u003cli\u003e[A Comparison between erlang and rust starting from language semantics to runtime features, performance etc..](https://www.infoq.com/articles/rust-erlang-comparison) - Krishna Kumar Thokala\u003c/li\u003e\u003c/ul\u003e |\n\n## Applications / Libraries / Tools\n\nSee repos [kud1ing/awesome-rust](https://github.com/kud1ing/awesome-rust) \u0026 [awesomo\n/rust](https://github.com/lk-geimfari/awesomo/blob/master/languages/RUST.md)\n\n## Language stuff\n\nCan I use feature X? [caniuse.rs - Rust feature search](https://caniuse.rs/)\n\n### Async\n\n* [Futures Explained in 200 Lines of Rust](https://web.archive.org/web/20230324130904/https://cfsamson.github.io/books-futures-explained/) - Carl Fredrik Samson\n* [Introduction to Async Rust and a High-level Overview of Tokio’s Architecture](https://moslehian.com/posts/2023/1-intro-async-rust-tokio/) - Arash Sal Moslehian\n* [Async Rust in Three Parts](https://jacko.io/async_intro.html) - Jack O'Connor\n\n### Closures\n\n* [Finding Closure in Rust](https://huonw.github.io/blog/2015/05/finding-closure-in-rust/) - [Huon Wilson][]\n* [Defaulting to Thread-Safety: Closures and Concurrency](https://huonw.github.io/blog/2015/05/defaulting-to-thread-safety/) - [Huon Wilson][]\n* [How to pass a closure into a trait object](http://camjackson.net/post/rust-lang-how-to-pass-a-closure-into-a-trait-object) - Cam Jackson\n* [Practical differences between Rust closures and functions](https://ricardomartins.cc/2015/10/12/practical_differences_between_rust_closures_and_functions) - Ricardo Martins\n* :star: [How Rust Achieves Thread Safety](https://manishearth.github.io/blog/2015/05/30/how-rust-achieves-thread-safety/) - [Manish Goregaokar][]\n* [Understanding Closures in Rust](https://medium.com/swlh/understanding-closures-in-rust-21f286ed1759) - Andrew Pritchard\n* [Why Rust Closures are (Somewhat) Hard](https://stevedonovan.github.io/rustifications/2018/08/18/rust-closures-are-hard.html) - [Steve Donovan][]\n\n### Documentation\n\n* :star: [Writing Documentation in Rust](https://www.facility9.com/2016/05/10/writing-documentation-in-rust/) - [Jeremiah Peschka][]\n* [Keeping Rust projects' README.md code examples up-to-date](https://blog.guillaume-gomez.fr/articles/2019-04-13+Keeping+Rust+projects%27+README.md+code+examples+up-to-date) - Guillaume Gomez\n* [Guide on how to write documentation for a Rust crate](https://blog.guillaume-gomez.fr/articles/2020-03-11+Guide+on+how+to+write+documentation+for+a+Rust+crate) - Guillaume Gomez\n\n### Enums\n\n* :star: [Virtual Structs part 1](http://smallcultfollowing.com/babysteps/blog/2015/05/05/where-rusts-enum-shines/) | [part 2](http://smallcultfollowing.com/babysteps/blog/2015/05/29/classes-strike-back/) | [part 3](http://smallcultfollowing.com/babysteps/blog/2015/08/20/virtual-structs-part-3-bringing-enums-and-structs-together/) - [Niko Matsakis][]\n\n### Errors\n\n* :star: [Error Handling in Rust](https://nrc.github.io/error-docs/) - [Nick Cameron][]\n* :star: [Error Handling in Rust](https://blog.burntsushi.net/rust-error-handling/) - [Andrew Gallant][]\n* [Beginner's guide to Error Handling in Rust](http://www.sheshbabu.com/posts/rust-error-handling/) - Sheshbabu Chinnakonda\n* [Rust error handling](https://www.unwoundstack.com/blog/rust-error-handling.html) - sp1ff\n* [Rust: Structuring and handling errors in 2020](https://nick.groenen.me/posts/rust-error-handling/) - Nick Groenen\n* [Wrapping errors in Rust](https://edgarluque.com/blog/wrapping-errors-in-rust/) - Edgar Luque\n* [Designing error types in Rust](https://mmapped.blog/posts/12-rust-error-handling.html) - Roman Kashitsyn\n\n### Iterators\n\n* [A Journey into Iterators](http://hoverbear.org/2015/05/02/a-journey-into-iterators/) - [Ana Hoverbear][]\n* [Effectively Using Iterators In Rust](http://hermanradtke.com/2015/06/22/effectively-using-iterators-in-rust.html) - [Herman J. Radtke III][]\n* [for loops in Rust](http://xion.io/post/code/rust-for-loop.html) - Karol Kuczmarski\n* [Iteration patterns for Result \u0026 Option](http://xion.io/post/code/rust-iter-patterns.html) - Karol Kuczmarski\n* [Little tour of multiple iterators implementation in Rust](https://blog.guillaume-gomez.fr/articles/2017-03-09+Little+tour+of+multiple+iterators+implementation+in+Rust) - Guillaume Gomez\n* [rust-iterators](https://github.com/rustomax/rust-iterators/) - Max Skybin\n\n### Lifetime\n\n* :star: [Where Rust Really Shines](https://manishearth.github.io/blog/2015/05/03/where-rust-really-shines/) - [Manish Goregaokar][]\n* [Understanding Lifetime in Rust part 1](https://mobiarch.wordpress.com/2015/06/29/understanding-lifetime-in-rust-part-i/) | [part 2](https://mobiarch.wordpress.com/2015/07/08/understanding-lifetime-in-rust-part-ii-3/) - Bibhas Bhattacharya\n* [Rust Lifetimes](https://charlesetc.inclouds.space/rust-lifetimes/) - Charles\n* [The Power of Lifetimes](http://pling.jondgoodwin.com/post/lifetimes/) - Jonathan Goodwin\n* [Understanding Rust Lifetimes](https://medium.com/nearprotocol/understanding-rust-lifetimes-e813bcd405fa) - Maksym Zavershynskyi\n* [Common Rust Lifetime Misconceptions](https://github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md) - kirill\n* [LifetimeKata](https://github.com/tfpk/lifetimekata) - Tom Kunc\n\n### Macros\n\n* [A Practical Intro to Macros in Rust 1.0](https://danielkeep.github.io/practical-intro-to-macros.html) - [Daniel Keep][]\n* [The Little Book of Rust Macros](https://veykril.github.io/tlborm/) - Lukas Wirth\n* :star: [Macros in Rust part 1](http://www.ncameron.org/blog/macros-in-rust-pt1/) | [part 2](http://www.ncameron.org/blog/macros-in-rust-pt2/) | [part 3](http://ncameron.org/blog/macros-in-rust-pt3/) | [part 4](http://ncameron.org/blog/macros-in-rust-pt4/) - [Nick Cameron][]\n* [Writing complex macros in Rust: Reverse Polish Notation](https://rreverser.com/writing-complex-macros-in-rust/) - Ingvar Stepanyan\n* :star: [Procedural Macros in Rust 2018](https://blog.rust-lang.org/2018/12/21/Procedural-Macros-in-Rust-2018.html) - [Alex Crichton][]\n* [Creating Macros in Rust](https://hub.packtpub.com/creating-macros-in-rust-tutorial/) - Aaron Lazar\n* [Rust Latam: procedural macros workshop](https://github.com/dtolnay/proc-macro-workshop) - David Tolnay\n* [MacroKata](https://github.com/tfpk/macrokata) - Tom Kunc\n\n### MIR\n\n* :star: [Introducing MIR](http://blog.rust-lang.org/2016/04/19/MIR.html) - [Niko Matsakis][]\n\n### Modules\n\n* [Rust Module Essentials ](https://dev.to/hertz4/rust-module-essentials-12oi) - Sam Pagenkopf\n* [How I Organize Large Rust Programs](https://rodarmor.com/blog/tour-de-just/) - Casey Rodarmor\n* [Clear explanation of Rust’s module system](http://www.sheshbabu.com/posts/rust-module-system/) - Sheshbabu Chinnakonda\n\n### Option \u0026 Result\n\n* [Option Type part 1](https://8thlight.com/insights/the-option-type) | [part 2](https://8thlight.com/insights/using-the-option-type-effectively) - 8thlight\n* :end: [Option Monads in Rust](http://hoverbear.org/2014/08/12/option-monads-in-rust/) - [Ana Hoverbear][]\n\n### Ownership / Concurrency\n\n* :star: [Fearless Concurrency with Rust](http://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html) - [Aaron Turon][]\n* [Rust ownership, the hard way](http://chrismorgan.info/blog/rust-ownership-the-hard-way.html) - [Chris Morgan][]\n* :star: [An alternative introduction to Rust](http://words.steveklabnik.com/a-new-introduction-to-rust) - [Steve Klabnik][]\n* :star: [The Problem With Single-threaded Shared Mutability](https://manishearth.github.io/blog/2015/05/17/the-problem-with-shared-mutability/) - [Manish Goregaokar][]\n* :star: [Wrapper Types in Rust: Choosing Your Guarantees](https://manishearth.github.io/blog/2015/05/27/wrapper-types-in-rust-choosing-your-guarantees/) - [Manish Goregaokar][]\n* [Strategies for solving 'cannot move out of' borrowing errors in Rust](http://hermanradtke.com/2015/06/09/strategies-for-solving-cannot-move-out-of-borrowing-errors-in-rust.html) - [Herman J. Radtke III][]\n* [Why Rust's ownership/borrowing is hard](http://softwaremaniacs.org/blog/2016/02/12/ownership-borrowing-hard/en/) - Ivan Sagalaev\n* [\u0026 vs. ref in Rust patterns](http://xion.io/post/code/rust-patterns-ref.html) - Karol Kuczmarski\n* [Interior mutability in Rust: what, why, how?](https://ricardomartins.cc/2016/06/08/interior-mutability) | [part 2](https://ricardomartins.cc/2016/06/25/interior-mutability-thread-safety) | [part 3](https://ricardomartins.cc/2016/07/11/interior-mutability-behind-the-curtain) - Ricardo Martins\n* :star: [Rust Means Never Having to Close a Socket](http://blog.skylight.io/rust-means-never-having-to-close-a-socket/) - [Yehuda Katz][]\n* [Understanding Lifetimes in Rust, part 1](https://mobiarch.wordpress.com/2015/06/29/understanding-lifetime-in-rust-part-i/) | [part 2](https://mobiarch.wordpress.com/2015/07/08/understanding-lifetime-in-rust-part-ii-3/) - Bibhas Bhattacharya\n* [Some Notes on `Send` and `Sync`](https://huonw.github.io/blog/2015/02/some-notes-on-send-and-sync/) - [Huon Wilson][]\n* [Sharing Coloring Books With Friends in Rust](http://jeenalee.com/2016/08/15/sharing-coloring-books-in-rust.html) - [Jeena Lee][]\n* [Moving, Cloning, and Copying Coloring Books in Rust](http://jeenalee.com/2016/08/29/move-clone-copy.html) - [Jeena Lee][]\n* [Ref patterns, destructuring, and invisible borrows](https://medium.com/@robertgrosse/ref-patterns-destructuring-and-invisible-borrows-2f8ae6902656) - Robert Grosse\n* [Rust: A unique perspective](https://limpet.net/mbrubeck/2019/02/07/rust-a-unique-perspective.html) - Matt Brubeck\n* [The Node Experiment - Exploring Async Basics with Rust](https://web.archive.org/web/20230125023131/https://cfsamson.github.io/book-exploring-async-basics/) - Carl Fredrik Samson\n* [A closer look at Ownership in Rust](https://blog.thoughtram.io/ownership-in-rust/) - Pascal Precht\n* [Understanding ownership in Rust](https://blog.logrocket.com/understanding-ownership-in-rust/) - Ukpai Ugochi\n\n### Privacy\n\n* :star: [Structure literals vs constructors in Rust](http://words.steveklabnik.com/structure-literals-vs-constructors-in-rust) - [Steve Klabnik][]\n\n### Strings\n\n* [String vs \u0026str in Rust functions part 1](http://hermanradtke.com/2015/05/03/string-vs-str-in-rust-functions.html) | [part 2](http://hermanradtke.com/2015/05/06/creating-a-rust-function-that-accepts-string-or-str.html) | [part 3](http://hermanradtke.com/2015/05/29/creating-a-rust-function-that-returns-string-or-str.html) - [Herman J. Radtke III][]\n* [From \u0026str to Cow](https://jwilm.io/blog/from-str-to-cow/) - Joe Wilm\n* [Rust: str vs String](http://www.ameyalokare.com/rust/2017/10/12/rust-str-vs-String.html) - Ameya Lokare\n* [On dealing with owning and borrowing in public interfaces](https://phaazon.net/blog/on-owning-borrowing-pub-interface) - Dimitri Sabadie\n* [Why Rust strings seem hard](https://www.brandons.me/blog/why-rust-strings-seem-hard) - Brandon Smith\n\n### Syntax extensions\n\n* :star: [Syntax extensions and regular expressions for Rust](http://blog.burntsushi.net/rust-regex-syntax-extensions/) - [Andrew Gallant][]\n\n### Traits\n\n* :star: [Abstraction without overhead: traits in Rust](http://blog.rust-lang.org/2015/05/11/traits.html) - [Aaron Turon][]\n* [A series on trait objects part 1](https://huonw.github.io/blog/2015/01/peeking-inside-trait-objects) | [part 2](https://huonw.github.io/blog/2015/01/the-sized-trait) | [part 3](https://huonw.github.io/blog/2015/01/object-safety) | [part 4](https://huonw.github.io/blog/2015/05/where-self-meets-sized-revisiting-object-safety/) - [Huon Wilson][]\n* [Rust traits for developer friendly libraries](https://benashford.github.io/blog/2015/05/24/rust-traits-for-developer-friendly-libraries/) - [Ben Ashford][]\n* [Traits and trait objects](http://xania.org/201506/traits-and-trait-objects) - Matt Godbolt\n* [Rust's Built-in Traits, the When, How \u0026 Why](https://llogiq.github.io/2015/07/30/traits.html) - [Llogiq][]\n* [Where are you From::from](http://llogiq.github.io/2015/11/27/from-into.html) - [Llogiq][]\n* [Gentle Intro to Type-level Recursion in Rust](https://beachape.com/blog/2017/03/12/gentle-intro-to-type-level-recursion-in-Rust-from-zero-to-frunk-hlist-sculpting/) - [Lloyd Chan][]\n* [Traits and Trait Objects in Rust](https://joshleeb.com/posts/rust-traits-and-trait-objects/) - Josh Leeb-du Toit\n* [A Quick Look at Trait Objects in Rust](https://tratt.net/laurie/blog/entries/a_quick_look_at_trait_objects_in_rust.html) - Laurence Tratt\n\n### Unsafe\n\n* [Unsafe Rust: An Intro and Open Questions](http://cglab.ca/~abeinges/blah/rust-unsafe-intro/) - [Alexis Beingessner][]\n* [Memory Leaks are Memory Safe](https://huonw.github.io/blog/2016/04/memory-leaks-are-memory-safe/) - [Huon Wilson][]\n* :star: [On Reference Counting and Leaks](http://smallcultfollowing.com/babysteps/blog/2015/04/29/on-reference-counting-and-leaks/) - [Niko Matsakis][]\n* :star: [A Few More Remarks on Reference Counting and Leaks](http://smallcultfollowing.com/babysteps/blog/2015/04/30/a-few-more-remarks-on-reference-counting-and-leaks/) - [Niko Matsakis][]\n* [Pre-pooping Your Pants With Rust](http://cglab.ca/~abeinges/blah/everyone-poops/) - [Alexis Beingessner][]\n* :star: [Unsafe Abstractions](http://smallcultfollowing.com/babysteps/blog/2016/05/23/unsafe-abstractions/) - [Niko Matsakis][]\n* :star: [The \"Tootsie Pop\" Model for Unsafe Code](http://smallcultfollowing.com/babysteps/blog/2016/05/27/the-tootsie-pop-model-for-unsafe-code/) - [Niko Matsakis][]\n* [Unsafe Rust is not C](https://www.youtube.com/watch?v=DG-VLezRkYQ) - Jack O'Connor\n\n## Playground\n\n* [Rust Playground](https://play.rust-lang.org)\n* [alternative](http://play.integer32.com/)\n\n## Locale links\n\n* [Brazilian Portuguese](pt_BR.md)\n* [Chinese](zh_CN.md)\n* [Danish](da_DK.md)\n* [French](fr_FR.md)\n* [German](de_DE.md)\n* [Italian](it_IT.md)\n* [Japanese](ja_JP.md)\n* [Korean](ko_KR.md)\n* [Russian](ru_RU.md)\n* [Spanish](es_ES.md)\n* [Turkish](tr_TR.md)\n\n## People\n\nThis is the official [Rust Team](http://www.rust-lang.org/team.html) and [Servo Team](https://github.com/orgs/servo/people)\n\nAre you searching for a rustacean? [http://www.rustaceans.org/](http://www.rustaceans.org/)\n\nDo you want to ask a question? [Users Forum](https://users.rust-lang.org/), [Stack Overflow](https://stackoverflow.com/questions/tagged/rust)\n\nDo you want to meet them IRL? [Meetup groups](http://www.meetup.com/topics/rust/), [Community calendar](https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com), [Community talks list](https://github.com/rust-community/talks), [RustBridge](https://rustbridge.github.io/)\n\nGo to rusty events? [The 2018 Rust Event Lineup](https://blog.rust-lang.org/2018/01/31/The-2018-Rust-Event-Lineup.html), [The 2019 Rust Event Lineup](https://blog.rust-lang.org/2019/05/20/The-2019-Rust-Event-Lineup.html)\n\nAre you looking for a job? [RustJobs.dev](https://rustjobs.dev/), [RustJobs.com](https://www.rustjobs.com/)\n\nAre you fast, friendly, and fearless? [Find something Rusty to work on!](https://www.rustaceans.org/findwork/starters), [Awesome Rust Mentors](https://rustbeginners.github.io/awesome-rust-mentors/)\n\nDo you want to stay up to date? [The official blog](https://blog.rust-lang.org/), [This Week in Rust](https://this-week-in-rust.org/), [This Week in Rust Docs](http://guillaumegomez.github.io/this-week-in-rust-docs/), [The official reddit](https://www.reddit.com/r/rust/)\n\nDo you want to find out why some historical decisions took place? [Chronicle.rs](https://github.com/mgattozzi/chronicle.rs)\n\n### Fearless Rust Bloggers\n\nA complete list could be found [here](https://users.rust-lang.org/t/fearless-rust-bloggers/16770)\n\n* [Aaron Turon][] - [blog](http://aturon.github.io/)\n* [Andrew Gallant][] - [blog](http://blog.burntsushi.net/)\n* [Ana Hoverbear][] - [blog](https://hoverbear.org/tags/#rust)\n* [Brian Anderson][] - [blog](https://brson.github.io/blog/index.html)\n* [Christoph Burgdorf][] - [blog](https://cburgdorf.wordpress.com/)\n* [Chris Morgan][] - [blog](https://chrismorgan.info/blog/tags/rust/)\n* [Felix S Klock II][] - [blog](http://blog.pnkfx.org/)\n* [Huon Wilson][] - [blog](https://huonw.github.io/blog/)\n* [Jonathan Turner][] - [blog](https://www.jntrnr.com/)\n* [Llogiq][] - [blog](http://llogiq.github.io/)\n* [Manish Goregaokar][] - [blog](https://manishearth.github.io/)\n* [Nick Cameron][] - [blog](http://featherweightmusings.blogspot.fr/)\n* [Niko Matsakis][] - [blog](http://smallcultfollowing.com/babysteps/)\n* [Patrick Walton][] - [blog](https://pcwalton.github.io/)\n* [Yehuda Katz][] - [blog](http://yehudakatz.com/)\n* [Steve Klabnik][] - [blog](http://words.steveklabnik.com/)\n\nDon't forget [Ferris](http://www.rustacean.net/) the unofficial mascot.\n\n## Tutorials \u0026 Workshop Materials\n\nThese are slides and materials from brick-and-mortar workshops about Rust.\nWhile they're unlikely to help a student learning independently, they may be\nof interest if you're running a workshop on Rust.\n\n* Workshop [slides and exercises](http://www.rust-tutorials.com/RustConf17/) from RustConf 2017.\n* Niko Matsakis's [rust tutorializer](https://github.com/nikomatsakis/rust-tutorializer) framework\n* Niko Matsakis's [ownership, borrowing, traits, structs, and threading tutorials](https://github.com/nikomatsakis/rust-tutorials-keynote), keynote files\n* Niko Matsakis's [concurrency tutorial](https://github.com/nikomatsakis/concurrency-tutorial) from December 2015\n* Niko Matsakis's [Mozlando Tutorial](http://smallcultfollowing.com/20151209/) includes slides and play.rust-lang.org demos\n* Jim Blandy's [exercises](https://github.com/jimblandy/exercises)\n* Dan Callahan's [Python Rust FFI](https://github.com/callahad/python-rust-ffi) examples\n* Nick Cameron's [oopsla slides and exercises](http://ncameron.org/oopsla15.html)\n* Florian Gilcher's [mailbox tutorial](https://github.com/skade/mailbox) takes Hello World to a whole new concurrent and networked level\n* Carol Nichols' [Intro to Rust](https://github.com/carols10cents/intro-to-rust) that presents the guessing game and ownership in a similar manner as the book\n* Jonathan Pallant's [Rust on the Raspberry Pi tutorial (using a Sense HAT)](https://github.com/thejpster/pi-workshop-rs)\n\n\u003c!-- Rustaceans --\u003e\n[Aaron Turon]: https://github.com/aturon\n[Alex Crichton]: https://github.com/alexcrichton\n[Alexander Fadeev]: https://github.com/fadeevab\n[Alexis Beingessner]: https://github.com/Gankro\n[Andrew Gallant]: https://github.com/BurntSushi\n[Ana Hoverbear]: https://github.com/Hoverbear\n[Ben Ashford]: https://github.com/benashford\n[Brian Anderson]: https://github.com/brson\n[Carol Nichols]: https://github.com/carols10cents\n[Chris Krycho]: https://github.com/chriskrycho\n[Chris Morgan]: https://github.com/chris-morgan\n[Christoph Burgdorf]: https://github.com/cburgdorf\n[Daniel Keep]: https://github.com/DanielKeep\n[Dan Callahan]: https://github.com/callahad\n[David Tolnay]: https://github.com/dtolnay\n[Felix S Klock II]: https://github.com/pnkfelix\n[Herman J. Radtke III]: https://github.com/hjr3\n[Jeena Lee]: https://github.com/jeenalee\n[Jeremiah Peschka]: https://github.com/peschkaj\n[Jim Blandy]: https://github.com/jimblandy\n[Jorge Aparicio]: https://github.com/japaric\n[Jonathan Turner]: https://github.com/jonathandturner\n[Llogiq]: https://github.com/llogiq\n[Luca Palmieri]: https://github.com/LukeMathWalker\n[Lloyd Chan]: https://github.com/lloydmeta\n[Huon Wilson]: https://github.com/huonw\n[Manish Goregaokar]: https://github.com/Manishearth\n[Michael Gattozzi]: https://github.com/mgattozzi\n[Nick Cameron]: https://github.com/nrc\n[Niko Matsakis]: https://github.com/nikomatsakis\n[Pascal Hertleif]: https://github.com/killercup\n[Patrick Walton]: https://github.com/pcwalton\n[Steve Donovan]: https://github.com/stevedonovan\n[Steve Klabnik]: https://github.com/steveklabnik\n[Tim McNamara]: https://github.com/timClicks\n[Yehuda Katz]: https://github.com/wycats\n[Dumindu Madunuwan]: https://github.com/dumindu\n\n## Similar projects\n\n* [Curated Resources to Learn Rust](https://hackr.io/tutorials/learn-rust) - Hackr.io\n* [Rust Anthology Master List](https://github.com/brson/rust-anthology/blob/master/master-list.md) - [Brian Anderson][]\n* [Read Rust](https://readrust.net/)\n","funding_links":[],"categories":["Additional Resources","生活的智慧","Others","Resources","资源 Resources","Other Awesomes","miscellaneous","Rust 程序设计","Summary","Series of articles, courses","book","资源","GitHub Awesome Repo"],"sub_categories":["Expectations For Mentors","Web programming","网络编程 Web programming","Testing CommandLine Applications","More UNIX®","网络服务_其他","网页编程","web编程 Web programming","Vector Database"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctjhoa%2Frust-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctjhoa%2Frust-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctjhoa%2Frust-learning/lists"}