CARGO_MANIFEST_DIR changing doesn't trigger a rebuild, even if rerun-if-env-changed=CARGO_MANIFEST_DIR is specified in the build.rs.
Thus env!("CARGO_MANIFEST_DIR") and env::var("CARGO_MANIFEST_DIR").unwrap() can differ in binaries executed by cargo run/test/bench.