-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Difficult/confusing to use -Zbuild-std with cargo-multivers #7
Comments
|
Yes, the arguments you pass after
Which version of I just tested this with
With previous versions, like @Shnatsel said, a bug was present where all arguments after |
Ah! The tripping hazard here is definitely just with the runner build, that's why it manages to do all the other compiles. I should have noticed that. |
So does it work for you with version 0.7 or do you still have an issue? |
I don't have an issue. I opened this because @Shnatsel wasn't immediately aware what to do with the duplicate lang items diagnostic. I wanted to make sure that the current behavior is intentional; since it is it would be nice to have a short explanation in the README about the behavior with |
You should not have duplicate lang item errors anymore. If you do it means your crate is defining I'm not sure what you think I should explain in the README? |
How about I answer that by sending a PR. I should have some time in the next week or two. |
|
Oh ok I understand now, thanks. I was focused on The fix is straightforward, just one line to not propagate this environment variable. |
…er build If a user adds `-Zbuild-std` to the command line to rebuild the std it is only propagated to the build of each version, but not the runner. These flags, however, can also be configured with [environment variables](rust-lang/cargo#8393). So if a user uses the `CARGO_UNSTABLE_BUILD_STD` environment variable to rebuild the std of the crate, it is propagated to the build of the runner. Since the runner adds `panic=abort`, if the user does not add `CARGO_UNSTABLE_BUILD_STD=std,panic_abort`, there are duplicate lang item errors. These errors might be confusing since the build of the runner is not necessarily known, and its profile even less. See #7
I pushed de28109, that fixes this specific behavior. |
|
I think you took care of everything I would have in my theoretical PR. Thank you! |
Ok, closing then. |
It's very tempting to use this with
-Zbuild-std
, because the standard library contains some algorithms which can be very amenable to instruction selection that depends on features above the baseline.If I try to run
I don't see any sign of the standard library being rebuilt. Maybe I'm missing it, but that looks like a bug somewhere. Maybe those arguments are dropped? Are they supposed to be passed through to Cargo?
If I try instead:
The build crashes at the last phase with a bunch of errors like this:
This happens when building with
-Cpanic=abort
but when there's nopanic_abort
crate in the sysroot. It's rather surprising that I was quietly opted into aborting panics; but if a user knows about this situation it's not hard to pass... but if they don't, this just looks like a bug in cargo-multivers.
The text was updated successfully, but these errors were encountered: