Expand description
Know who changed what your code depends on.
Add compile-time review triggers for code whose correctness, necessity, or performance depends on things the compiler cannot verify.
Tests validate behavior. Use who::warn! and who::error! to bring code back up for review when the context around it changes.
For example, suppose a compiler bug forces you to disable an optimized implementation:
fn transform(input: &[f32], output: &mut [f32]) {
who::warn!(
rustc().changed_from("1.95.0"),
"Recheck rust-lang/rust#123456 and restore the SIMD path if fixed"
);
// SIMD path disabled because of a compiler codegen bug.
scalar_transform(input, output);
}The scalar path may be completely correct and well tested. Those tests will still pass after the compiler bug is fixed.
When the compiler version changes, who brings this code back to your attention so the workaround does not silently become permanent.