Closed
Description
Updated report
Looks like metadata generated from a cold cache of incremental compilation ends up being byte-for-byte different than metadata generated from a warm cache of incremental compilation. This can be seen with this script: https://gist.github.com/alexcrichton/80c976db507a7f56a16a1f15b25293e4
Original report
It looks like #46846 may not be fully resolved.
After updating to a recent nightly I can no longer reproduce the non-determinism on Linux, but I am still seeing it on OS X:
jklai-mbp:~/serde $ md5 target/debug/deps/libserde_derive*
MD5 (target/debug/deps/libserde_derive-4b2dfc743823c6ab.dylib) = 21c2da4a6eebec6fd9dc7f80599b6f15
md5: target/debug/deps/libserde_derive-4b2dfc743823c6ab.dylib.dSYM: Is a directory
MD5 (target/debug/deps/libserde_derive_internals-99a522a1137b3a68.rlib) = 8802e6f9f3831842fc7af2708f87ce4d
jklai-mbp:~/serde $ rm target/debug/deps/libserde_derive-4b2dfc743823c6ab.dylib
jklai-mbp:~/serde $ cargo build
Compiling serde_derive v1.0.26 (file:///Users/jklai/serde/serde_derive)
Finished dev [unoptimized + debuginfo] target(s) in 2.79 secs
jklai-mbp:~/serde $ md5 target/debug/deps/libserde_derive*
MD5 (target/debug/deps/libserde_derive-4b2dfc743823c6ab.dylib) = 706cbc1d8a9946579e2f6a19690189c4
md5: target/debug/deps/libserde_derive-4b2dfc743823c6ab.dylib.dSYM: Is a directory
MD5 (target/debug/deps/libserde_derive_internals-99a522a1137b3a68.rlib) = 8802e6f9f3831842fc7af2708f87ce4d
serde commit:
jklai-mbp:~/serde $ git log -n 1
commit 9cfcd78c876c9d5f0806baf09514832b2d1d9115
rustc version:
jklai-mbp:~/serde $ rustc --version --verbose
rustc 1.24.0-nightly (77e189cd7 2017-12-28)
binary: rustc
commit-hash: 77e189cd79ce98cf8d39082157445db54696f316
commit-date: 2017-12-28
host: x86_64-apple-darwin
release: 1.24.0-nightly
LLVM version: 4.0
xcode version:
jklai-mbp:~/serde $ /usr/bin/xcodebuild -version
Xcode 7.3.1
Build version 7D1014