References
Official đź”—
- Rust Cookbook
- API Guidelines Checklist
- Naming conventions - API Guide
- Documentation - API Guide
- Implement From not Into - Trait std::convert::Into
- Selecting a collection - Module std::collections
- Setting up defaults - Trait std::default::Default
- Attributes - The Rust Reference
- Code like
#![]
and#[]
- Code like
- Minimal Reproducible Example tips - Stack Overflow Rust Info
- Conditional Compilation
- Managing External Processes - Rust Cookbook
- Testing CLI Applications by running them
- Filing reports of unclear error messages (Choose Diagnostic) - Rust Issues
- Crate.io and Docs.rs issue status - https://status.crates.io/
- Build Queue for Docs.rs - docs.rs
- Raw Pointers - std docs
- Magic Completions - Rust Analyzer User Manual
- Directory Traversal - Rust Cookbook
- Recommended way to write
expect
messages - std docs - Types of enum variants - Rust by Example
- Using a your fork of a crate while developing a feature - The Cargo Book - Testing a bugfix
Reference Books (Also see Official) đź”—
- Collection patters, idioms and anti-patterns - Rust design patterns
Blog Posts đź”—
Podcasts đź”—
- Rustacean Station - Current community run podcast
- Rust in Production - Interviews with companies using rust in production.
- RustShip - Interviews with companies that ship rust software.
- Self-Directed Research Podcast (SDR) - “Every week, a new presentation on what Amos or James has been up to. Usually: Rust, embedded, web servers, but anything is fair game.”, is what the top of their site says. Tracks with what I’ve heard so far.
- Oxide and Friends - Not specifically a rust podcast but it’s from a company that uses rust and, as a result, rust comes up frequently.
- New Rustacean - Stopped but it’s where I started. This podcast introduced me to rust and got me excited before I read the book and actually tried it myself (converted commute time into see if I like this rust thing time). I think the main reason it got me excited is that he spoke about the parts of rust that I was interested in and maybe contributed to making it easier to learn rust. I found learning rust easy but that’s not a sentiment I’ve heard from many other people so maybe this is why it was easy for me.
Video đź”—
See here for youtube videos.
Useful crates đź”—
For some crates I have more detailed notes. For those their page title starts with “Crate “. And for ease of maintenance they are not duplicated here. So please do see the section page for rust to see the list.
- log - A lightweight logging facade
- log4rs - a highly configurable logging framework modeled after Java’s Logback and log4j libraries.
- Logging patterns patterns
- tracing
- float_eq - Compare IEEE floating point primitives, structs and collections for equality
- float_ord - Add Ord for floats (used as
FloatOrd(1.0)
) - inventory - Typed distributed plugin registration.
- dirs - Helps you find the suitable directory to use in a cross platform way
- secrecy - Simple secret keeping library. Small API surface and reasonable protection from mistakes.
- version - Provides the version information for your crate already parsed into the three components
- document_features - provides a macro that extracts “documentation” comments from Cargo.toml
- List of my crates on crates.io
GitHub Actions đź”—
Lints đź”—
- The rustdoc book
- In particular see the one for warning about unused dependencies