> Sorry, I still don't understand: If my patch effectively does nothing, then > why do the tests now succeed when they failed without the patch applied?
What "fixed" the tests is the changes in d/tests/control, not the patch. Tests passing is the expected behavior if the patch does nothing, because the build is not prevented anyway and you are still testing with the debug profile. The job of the patch is to prevent builds, not to make tests pass. > Due to accidentally using wrong environment variable, it has even been tested > that with the patch applied but without disabling optimization the build on > i386 will fail, emitting the message from the patch. Oh I see what's happening there, my bad. While I'm right (it's not theoretical, I tested this on both amd64 and arm64 and it's a known fact anyway) in saying that the `cfg` checks in build.rs apply to the build machine, Debian's infra is not actually cross compiling, but running native i386 code on amd64, thus the build is not effectively a cross build! I acknowledge (and you saw that yourself anyway from the message in the build failure) that your patch should work on Debian infra. Where it will fail is if someone tries to actually cross compile rust-wide for i386, e.g. if not building on amd64 or if building on amd64 but not natively for i386. Since this is not done by default on Debian infra, my patch is not strictly necessary. It may still be an improvement, to keep consistency between native and cross builds, but not necessary.