The "semver trick" (formerly known as "the @dtolnay trick") refers to publishing a breaking change to a Rust library without requiring a coordinated upgrade across its downstream dependency graph.
The link explains how it works using libc
as an example.
This could be applicable to libc
(rust-lang/libc#547), log
(rust-lang-nursery/log#148), url
, and lots of other foundational libraries as the Libs Blitz begins to yield 1.0 crates. Hopefully this technique can mitigate some fraction of drawn-out ecosystem-wide upgrades of the sort that we have experienced with libc
and pre-1.0 serde
in the past.