Collection of stuff that currently does not have a better place to live.
The idea is that things being added to this crate will some day end up in a more appropriate special-purpose crate. But some things may live in here forever, because some functions are weird and esoteric.
Warning: There's a significant chance that this crate will blow up the number of dependencies in your project.
knus on macOS
If the knus feature is enabled, the crate may generate symbol names that are
too long for some linkers. In particular, Apple's "new" ld in Xcode will hit
an assertion.
A workaround is to force use of the "classic ld": Create a
.cargo/config.toml in the crate's root and add to it:
[target.aarch64-apple-darwin]
rustflags = ["-C", "link-arg=-Wl,-ld_classic"]
[target.x86_64-apple-darwin]
rustflags = ["-C", "link-arg=-Wl,-ld_classic"]
Feature labels in documentation
The crate's documentation uses automatically generated feature labels, which currently requires nightly featuers. To build the documentation locally use:
RUSTFLAGS="--cfg docsrs" RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features
Change log
The details of changes can always be found in the timeline, but for a high-level view of changes between released versions there's a manually maintained Change Log.