> 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.

Reply via email to