Rustmax 0.0.11 is released with 76 commits since 0.0.10.

Derive macros through rustmax

An ongoing problem with using the rustmax crate is that many of the re-exported procedural macros emit code that doesn't compile. This release includes a partial solution for some of the derive macros.

The new #[rmx::derive(..)] attribute stands in for #[derive(..)] and makes the serde, clap, derive_more and num_enum derives work through rustmax alone:

#[rmx::derive(Serialize, Deserialize, Clone, Debug)]
#[serde(rename_all = "camelCase")]
struct Config {
    some_field: u32,
}

thiserror and cxx still need a direct dependency. The guide's Macros section explains why.

Profile changes

The profiles are simpler, and some are renamed or gone:

  • rmx-profile-net is renamed rmx-profile-tokio, and holds only tokio and the crates that depend on it: hyper, reqwest, tower, and the new http-body-util and hyper-util.
  • http, mime and url move to rmx-profile-portable, and socket2 to rmx-profile-std.
  • rmx-profile-cli is gone; ctrlc, rustyline and termcolor are in rmx-profile-std.
  • rmx-profile-full is renamed rmx-profile-max. The old rmx-profile-max is gone, along with rmx-feature-tokio and rmx-feature-backtrace, neither of which did anything.

Crate changes

New:

  • http-body-util - body types for hyper 1.x
  • hyper-util - tokio glue and a pooling client for hyper
  • libm - floating-point math for no-std
  • rustc-hash - the fast hash function used by rustc
  • tar - tar archives

Removed:

  • axum

Upgraded:

  • comrak 0.54 → 0.57
  • rustyline 18 → 19
  • zip 8 → 9

The Rustmax Book

I've done some consolidation and cleanup here to make it a bit more useful. The "Concept Index" chapter is now a fairly comprehensive glossary of Rust terms with links. The "Rustmax Radar" is cleaned up and organized and descriptive.

Also

  • rustmax search is reimplemented in Rust, no longer needs node, and matches multi-word queries like "hash map".
  • bug! with a message actually compiles.
  • rustmax-cli installs cargo-sweep.
  • Mostly-empty chapters of the book have been consolidated.
  • The book has a concept index and a merged "How Do I" chapter.
  • The crate guide is reorganized.
  • The library books are rebuilt at their latest upstream commits.