This is your work, valued

Redwood City, California

David Tolnay

Elite
@dtolnay

cxx. Safe interop between Rust and C++

6.8k

anyhow. Flexible concrete Error type built on std::error::Error

6.6k

thiserror. derive(Error) for struct and enum error types

5.5k

proc-macro-workshop. Learn to write Rust procedural macros  [Rust Latam conference, Montevideo Uruguay, March 2019]

4.8k

syn. Parser for Rust source code

3.3k

cargo-expand. Subcommand to show result of macro expansion

3.1k

async-trait. Type erasure for async trait methods

2.2k

case-studies. Analysis of various tricky Rust code

2k

rust-quiz. Medium to hard Rust questions with explanations

1.9k

quote. Rust quasi-quoting

1.6k

rust-toolchain. Concise GitHub Action for installing a Rust toolchain

1.6k

typetag. Serde serializable and deserializable trait objects

1.5k

watt. Runtime for executing procedural macros as WebAssembly

1.5k

inventory. Typed distributed plugin registration

1.3k

no-panic. Attribute macro to require that the compiler prove a function can't ever panic

1.2k

paste. Macros for all your token pasting needs

1.1k

serde-yaml. Strongly typed YAML library for Rust

1k

trybuild. Test harness for ui tests of compiler diagnostics

971

miniserde. Data structure serialization library with several opposite design goals from Serde

936

proc-macro2. Rust

924

linkme. Safe cross-platform linker shenanigans

871

erased-serde. Type-erased Serialize, Serializer and Deserializer traits

821

indoc. Indented document literals for Rust

787

reflect. Compile-time reflection API for developing robust procedural macros (proof of concept)

779

prettyplease. A minimal `syn` syntax tree pretty-printer

772

dyn-clone. Clone trait that is object-safe

753

ryu. Fast floating point to string conversion

703

semver. Parser and evaluator for Cargo's flavor of Semantic Versioning

668

request-for-implementation. Crates that don't exist, but should

631

semver-trick. How to avoid complicated coordinated upgrades

560

cargo-llvm-lines. Count lines of LLVM IR per generic function

516

path-to-error. Find out path at which a deserialization error occurred

425

rustversion. Conditional compilation according to rustc compiler version

394

itoa. Fast function for printing integer primitives to a decimal string

379

efg. Conditional compilation using boolean expression syntax, rather than any(), all(), not()

293

rust-faq. Frequently Asked Questions · The Rust Programming Language

288

monostate. Type that deserializes only from one specific value

281

serde-repr. Serialize and deserialize C-like enum as underlying repr

267

readonly. Struct fields that are made read-only accessible to other modules

266

cargo-tally. Graph the number of crates that depend on your crate over time

255

dissimilar. Diff library with semantic cleanup, based on Google's diff-match-patch

241

colorous. Color schemes for charts and maps

241

ref-cast. Safely cast &T to &U where the struct U contains a single field of type T.

219

faketty. Wrapper to exec a command in a pty, even if redirecting the output

205

proc-macro-hack. Procedural macros in expression position

204

star-history. Graph history of GitHub stars of a user or repo over time

202

automod. Pull in every source file in a directory as a module

187

ghost. Define your own PhantomData

167

inherent. Make trait methods callable without the trait in scope

165

seq-macro. Macro to repeat sequentially indexed copies of a fragment of code

165

bootstrap. Bootstrapping rustc from source

119

unicode-ident. Determine whether characters have the XID_Start or XID_Continue properties

110

noisy-clippy. Rust

101

install. Fast `cargo install` action using a GitHub-based binary cache and attestations

82

typeid. Const TypeId and non-'static TypeId

71

serde-starlark. Serde serializer for generating Starlark build targets

70