-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Switch to using the v2 resolver in most workspaces #128722
Conversation
rustbot has assigned @Mark-Simulacrum. Use |
The list of allowed third-party dependencies may have been modified! You must ensure that any new dependencies have compatible licenses before merging. The run-make-support library was changed cc @jieyouxu These commits modify the If this was unintentional then you should revert the changes before this PR is merged. Portable SIMD is developed in its own repository. If possible, consider making this change to rust-lang/portable-simd instead. |
Split off of #128359 since the library was split off to its own |
This comment has been minimized.
This comment has been minimized.
d9eb9c6
to
7200e9d
Compare
Why updating any deps here? There exist separate CI task (#127140, which stuck a little). As i understand, |
For licensing - the WASM tools and the crates that depend on them all need to be the latest version. Otherwise we get duplicate versions with different licenses that confuses tidy, as mentioned in #128722 (comment). I can rebase after #127140 so the diff is smaller. You are right about portable-simd, I will drop those changes. |
☔ The latest upstream changes (presumably #128783) made this pull request unmergeable. Please resolve the merge conflicts. |
r=me with this rebased |
Pinning the resolver to v1 was done in 5abff37 ("Explicit set workspace.resolver ...") in order to suppress warnings. Since there is no specific reason not to use the new resolver and since it fixes issues, change to `resolver = "2"` everywhere except library and submodules.
With the new resolver, a few dependencies get brought in twice with different licenses. For example, all dependencies from `wasm-tools` gained Apache-2.0 and MIT options, and with the v2 resolver we were using one version from before and one version from after this change. This made tidy's license check difficult. Update some minimum versions to remove duplicate dependencies and smooth out license checking.
v2 resolves some dependencies differently, and we adjusted some dependency versions. Run `cargo update` to make sure everything is in sync.
Recent versions of wasm-tools are now Apache-2.0 or MIT or Apache-2.0 with the LLVM exception, rather than strictly Apache-2.0 with the LLVM exception. The only component with the exception has moved to a new dependency `wasi-preview1-component-adapter-provider`.
7200e9d
to
32fbbaa
Compare
Thanks Mark. @bors r=Mark-Simulacrum |
rollup=never? |
Hopefully this shouldn't conflict with anything, maybe just @bors rollup=iffy |
☀️ Test successful - checks-actions |
Finished benchmarking commit (45fbf41): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)Results (primary 2.2%, secondary -0.3%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (primary -4.5%, secondary -2.5%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 750.46s -> 749.421s (-0.14%) |
@rustbot label +relnotes This change includes a new version of cc-rs which no longer supports Visual Studio 2013, which means that Rust will no longer use or consider the VS 2013 linker when building |
@tgross35 can we back that cc change out? It shouldn't go through a PR like this - probably merits t-compiler FCP? (I'm not sure if we document which linker versions we consider, but I'm not comfortable landing it in a PR like this). |
Per INSTALL.md, VS 2017 is required: Line 199 in 636d7ff
Rustup's docs have also been updated, but it looks like it hasn't been deployed yet: rust-lang/rustup@4831701 That said, I don't think there's anything blocking older versions except for cc-rs support. |
INSTALL.md is ... not really the right place for that to be documented, it should probably go on the platform support page (rendered https://doc.rust-lang.org/nightly/rustc/platform-support.html) and doesn't appear there currently. I don't have any objection to raising the limit, but we should do that intentionally. |
`cc` 1.0.106 removes support for Visual Studio 12. Pin to 1.0.105 so we don't drop support yet. Link: rust-lang#128722 (comment)
`cc` 1.0.106 removes support for Visual Studio 12. Pin to 1.0.105 so we don't drop support yet. Fixes: rust-lang#128722 (comment)
I opened #129290 to pin to the version below that release, per rust-lang/cc-rs#1142. Bit surprising that this change was semver-compatible, but maybe that wasn't explicitly intentional. @dpaoliello since you have the background here, maybe you could put up a PR upgrading to 1.1.x and changing the docs after my pinning PR merges? As a place for compiler FCP to get us unpinned. |
I assume you mean create a platform support page for the
If I recall, we went ahead with the change since 1) VS 2013 is out of support and 2) cc-rs's MSRV was bumped past the version where the Rust's INSTALL.md indicated that VS2017 was required. Seems like there should be some guidance for bumping and documenting min tool versions somewhere. I know we've been waiting on changing the raw-dylib feature since we need a newer binutils version, but I can't find any docs that indicate what the min required version is. |
Pin `cc` to 1.0.105 `cc` 1.0.106 removes support for Visual Studio 12. Pin to 1.0.105 so we don't drop support yet. Fixes: rust-lang#128722 (comment)
Pin `cc` to 1.0.105 `cc` 1.0.106 removes support for Visual Studio 12. Pin to 1.0.105 so we don't drop support yet. Fixes: rust-lang#128722 (comment)
Rollup merge of rust-lang#129290 - tgross35:pin-cc, r=Mark-Simulacrum Pin `cc` to 1.0.105 `cc` 1.0.106 removes support for Visual Studio 12. Pin to 1.0.105 so we don't drop support yet. Fixes: rust-lang#128722 (comment)
Removing relnotes since #129290 dropped the break. |
Pin `cc` to 1.0.105 `cc` 1.0.106 removes support for Visual Studio 12. Pin to 1.0.105 so we don't drop support yet. Fixes: rust-lang/rust#128722 (comment)
This seems to have broken most (if not all)
for |
Maybe bootstrap needs to get adjusted to be more accurate with the feature flags it passes? Might be worth a new issue |
Pinning the resolver to v1 was done in 5abff37 ("Explicit set workspace.resolver ...") in order to suppress warnings. Since there is no specific reason not to use the new resolver and since it fixes issues, change to
resolver = "2"
everywhere except library.