Skip to content

mre/idiomatic-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

169 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Check Links

This repository collects resources for writing clean, idiomatic Rust code. You can find a sortable/searchable version of this list here.

Idiomatic coding means following the conventions of a given language. It is the most concise, convenient, and common way of accomplishing a task in that language, rather than forcing it to work in a way the author is familiar with from a different language. - Adapted from Tim Mansfield

Contributions welcome! To add missing resources, please refer to the contributing documentation.

โš™ Projects

  • blessed.rs โ€” An unofficial guide to the Rust ecosystem. Suggestions for popular, well-maintained crates.
  • Canonical's Rust Best Practices โ€” A curated collection of best practices for writing Rust code, covering coding standards from naming conventions to unsafe code usage.
  • cheats.rs - Idiomatic Rust tips โ€” A list of quick tips to make your code more idiomatic.
  • clippy โ€” A bunch of lints to catch common mistakes and improve your Rust code.
  • Elements of Rust โ€” A collection of software engineering techniques for effectively expressing intent with Rust.
  • Patterns โ€” A catalogue of design patterns in Rust.
  • Possible Rust โ€” A blog for intermediate Rust programmers exploring real-world code and design patterns.
  • Rust Anthology โ€” The best short-form writing about Rust, collected.
  • Rust API Guidelines โ€” An extensive list of recommendations for idiomatic Rust APIs.
  • Rust by Example โ€” A community driven collection of example code which follow Rust best practices.

๐Ÿ‹ Workshops

๐Ÿ“– Books

๐Ÿ“ฐ Articles

2025

2024

2023

2021

2020

2019

2018

2017

2016

2015

๐ŸŽค Talks

2024

  • The Four Horsemen of Bad Rust Code โ€” A talk about common pitfalls in Rust code like overengineering and premature optimization. [Video]

2023

  • Tricks of the Trait: Enabling Ergonomic Extractors โ€” Rust Nation UK, Feb. 2023 [Video]

2022

  • Ergonomic APIs for hard problems โ€” RustLab Conference, October 2022 [Video]
  • Nine Rules for Elegant Rust Library APIs โ€” Seattle Rust Meetup, Sep. 2022 [Video]

2020

  • Macros for a More Productive Rust โ€” RustConf 2020 [Video]

2019

  • Making Rust Delightful โ€” RustCon Asia 2019 [Video]

2018

  • Idiomatic Rust - Writing Concise and Elegant Rust Code โ€” FOSDEM 2018 [Video]

2017

  • Idiomatic Rust Libraries โ€” Rustfest Kiev [Video]

๐Ÿ’ฌ Forum

2020

2017

๐Ÿ“œ History

Coming from Python, I loved the guidelines on how idiomatic Python looks like. I was inspired by the likes of Peter Norvig, who wrote amazing articles on spellcheckers and sudoku solvers; and, of course, the Zen of Python. For Rust, there is no such thing as the Zen of Python, however, so I started collecting my own resources. The goal of this project is to create a peer-reviewed collection of articles/talks/repos, which teach idiomatic Rust style. It's a community project and you can contribute.

๐Ÿ” License

CC0

To the extent possible under law, Matthias Endler has waived all copyright and related or neighboring rights to this work. Logo adapted from FreePik.com.

About

๐Ÿฆ€ A peer-reviewed collection of articles/talks/repos which teach concise, idiomatic Rust.

Topics

Resources

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Contributors

โšก