please_rust reproduces cargo's build-script environment: CARGO_PKG_*, OUT_DIR, CARGO_CFG_* derived from the target's cfgs, CARGO_CRATE_NAME, CARGO_BIN_NAME, CARGO_MANIFEST_DIR, CARGO_MANIFEST_LINKS, feature cfgs, and the directive protocol back out of it including error=, rustc-flags, rustc-link-lib and rustc-cfg.
That was audited against cargo's documentation in August 2026, and the audit caught real gaps: error=, rustc-flags, CARGO_CRATE_NAME among them.
Cargo keeps moving. Each release can add a variable or a directive, and a build script that reads one we do not set gets an empty string rather than an error, which is the quiet kind of wrong.
Recurring, not one-off
This is a task to redo when cargo versions land rather than something to close. Worth a checklist in the repo listing what was audited and against which cargo version, so the next pass is a diff rather than a re-read.
How you would know
A recorded audit date and cargo version, and the diff since the last one.
please_rustreproduces cargo's build-script environment:CARGO_PKG_*,OUT_DIR,CARGO_CFG_*derived from the target's cfgs,CARGO_CRATE_NAME,CARGO_BIN_NAME,CARGO_MANIFEST_DIR,CARGO_MANIFEST_LINKS, feature cfgs, and the directive protocol back out of it includingerror=,rustc-flags,rustc-link-libandrustc-cfg.That was audited against cargo's documentation in August 2026, and the audit caught real gaps:
error=,rustc-flags,CARGO_CRATE_NAMEamong them.Cargo keeps moving. Each release can add a variable or a directive, and a build script that reads one we do not set gets an empty string rather than an error, which is the quiet kind of wrong.
Recurring, not one-off
This is a task to redo when cargo versions land rather than something to close. Worth a checklist in the repo listing what was audited and against which cargo version, so the next pass is a diff rather than a re-read.
How you would know
A recorded audit date and cargo version, and the diff since the last one.