Random Musings and Stuff I Should Remember
Important Crates
syn
- parsing library
Usually used for writing procedural macros, typically in conjunction with quote
and proc-macro
.
tokio
Plus all of these crates that fall under the umbrella of tokio
:
-
hyper
: A fast and correct HTTP/1.1 and HTTP/2 implementation for Rust. -
tonic
: A gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility. -
warp
: A super-easy, composable, web server framework for warp speeds. -
tower
: A library of modular and reusable components for building robust networking clients and servers. -
tracing
(formerly tokio-trace): A framework for application-level tracing and async-aware diagnostics. -
rdbc
: A Rust database connectivity library for MySQL, Postgres and SQLite. -
mio
: A low-level, cross-platform abstraction over OS I/O APIs that powers tokio. -
bytes
: Utilities for working with bytes, including efficient byte buffers. -
loom
: A testing tool for concurrent Rust code
Other Thoughts
=
does not mean assignment!
Stop thinking of let x = y;
as "assign the value of y
to x
". Rather, think of it as "Move the value in memory owned by y
to x
(thereby giving x
ownership)",