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.4k

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

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

1.6k

quote. Rust quasi-quoting

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

977

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

937

proc-macro2. Rust

925

linkme. Safe cross-platform linker shenanigans

877

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

822

indoc. Indented document literals for Rust

787

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

782

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

774

dyn-clone. Clone trait that is object-safe

754

ryu. Fast floating point to string conversion

703

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

670

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

632

semver-trick. How to avoid complicated coordinated upgrades

567

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

518

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

284

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

270

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

268

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.

222

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

203

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

187

ghost. Define your own PhantomData

168

inherent. Make trait methods callable without the trait in scope

166

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

166

bootstrap. Bootstrapping rustc from source

120

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

109

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
56
Apply