Skip to content
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

Rollup of 7 pull requests #108886

Closed
wants to merge 19 commits into from
Closed

Conversation

JohnTitor
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Zoxc and others added 19 commits March 4, 2023 01:46
This approach didn't seem to work well.
+ Add some information to the README.md
PR 107844 made DropAndReplace unused, let's remove it completely
from the codebase.
…, r=pietroalbini

use problem matchers for tidy CI
Add `--no-undefined-version` link flag and fix associated breakage

LLVM upstream sets `--no-undefined-version` by default in lld: https://reviews.llvm.org/D135402.

Due to a bug in how version scripts are generated, this breaks the `dylib` output type for most crates. See rust-lang#105967 (comment) for details.

This PR adds the flag to gcc flavor linkers in anticipation of this LLVM change rolling in, and patches `rustc` to not attempt to export `__rust_*` allocator symbols when they weren't generated.

Fixes rust-lang#105967
Place size limits on query keys and values

This just prevents these from growing accidentally too large. I'm not sure if there's an easy way to also print the actual size too.
Retry `pred_known_to_hold_modulo_regions` with fulfillment if ambiguous

Fixes rust-lang#108721

The problem here is that when we're checking `is_sized_raw` during codegen on some type that has a lot of opaques in it, something emits several nested obligations that are individually ambiguous, but when processed together in a loop then apply modulo regions. Since the `evaluate_predicates_recursively` inner loop doesn't process predicates until they stop changing, we return `EvaluatedToAmbig`, which makes the sized check return false incorrectly. See:

https://github.com/rust-lang/rust/blob/f15f0ea73972786e426732c5b92ba9a904b866c4/compiler/rustc_trait_selection/src/traits/select/mod.rs#L596-L606

... Compared to the analogous loop in the new solver:

https://github.com/rust-lang/rust/blob/f15f0ea73972786e426732c5b92ba9a904b866c4/compiler/rustc_trait_selection/src/solve/mod.rs#L481-L512

To fix this, if we get ambiguous during `pred_known_to_hold_modulo_regions`, just retry the obligation in a fulfillment context.

--

Unfortunately... I don't have a test for this. I've only tested this locally. Pending minimization :/

r? types
…t-release-notes-for-1.41.1-apple32, r=Mark-Simulacrum

1.41.1 supported 32-bit Apple targets

This question was raised by rust-lang#108556.
StableMIR: Proof-of-concept implementation + test

This PR is part of the [project Stable MIR](https://github.com/rust-lang/project-stable-mir). The PR deletes old re-exports from rustc_smir and introduces a proof-of-concept implementation for APIs to retrieve crate information.

The implementation follows the [design described here](https://hackmd.io/XhnYHKKuR6-LChhobvlT-g?view), but instead of using separate crates for the implementation, it uses separate modules inside `rustc_smir`.

The API introduced at this point should be seen just as an example on how we are planning to structure the communication between tools and the compiler.

I have not explored yet what should be the right granularity, the best starting point for users, neither the best way to implement it.

r? `@oli-obk`
…asko

Remove DropAndReplace terminator

rust-lang#107844 made DropAndReplace unused, let's remove it completely from the codebase.
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Mar 8, 2023
@JohnTitor
Copy link
Member Author

@bors r+ p=7 rollup=never

@bors
Copy link
Contributor

bors commented Mar 8, 2023

📌 Commit 645bed4 has been approved by JohnTitor

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 8, 2023
@bors
Copy link
Contributor

bors commented Mar 8, 2023

⌛ Testing commit 645bed4 with merge 68211bac5ddc53b1a70677c8e1d0415ddbac9955...

@bors
Copy link
Contributor

bors commented Mar 8, 2023

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 8, 2023
@JohnTitor JohnTitor closed this Mar 8, 2023
@JohnTitor JohnTitor deleted the rollup-w5jcuda branch March 8, 2023 06:17
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-apple-2 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] gimli test:false 7.065
[RUSTC-TIMING] object test:false 8.228
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1/lib/rustlib/x86_64-apple-darwin/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/usr/local/opt/[email protected]/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools:/Users/runner/.ghcup/bin:/Users/runner/hostedtoolcache/stack/2.9.3/x64" VSLANG="1033" ZERO_AR_DATE="1" "cc" "-Wl,-exported_symbols_list,/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/rustcsg8hjA/list" "-Wl,--no-undefined-version" "-arch" "x86_64" "-m64" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/rustcsg8hjA/symbols.o" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/std-7730ffa574cdbd9d.std.b0899f28-cgu.0.rcgu.o" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/std-7730ffa574cdbd9d.3q8z4ylgn5w2jmyl.rcgu.rmeta" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/std-7730ffa574cdbd9d.xy33rv1amipcnsr.rcgu.o" "-L" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps" "-L" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/release/deps" "-L" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/build/compiler_builtins-e3b7236326860831/out" "-L" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/build/profiler_builtins-5af370dcbe25290f/out" "-L" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1/lib/rustlib/x86_64-apple-darwin/lib" "-lSystem" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libpanic_unwind-302338f4a7745721.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libobject-52a68d2ecd4a0919.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libmemchr-b95a5ea169fcbfcb.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libaddr2line-3e528bdfc35cdf47.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libgimli-610394e5c486db85.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/librustc_demangle-ee458b8cdfe286f8.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libstd_detect-eb213c9187c5330d.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libhashbrown-e4a85bb86bce8ec3.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libminiz_oxide-42ac638f1f63d5be.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libadler-3e429a064bf5b4f8.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/librustc_std_workspace_alloc-cca3bc0f7021169a.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libunwind-ca3771e7dfb4df40.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libcfg_if-688573ae5aefaaab.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/liblibc-90e1ecc2f7bc25ed.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/liballoc-2effabb599bbc16c.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/librustc_std_workspace_core-7763b67623a38e07.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libcore-3775c6f0a76e9fa6.rlib" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libcompiler_builtins-c86ccb4b2183da0d.rlib" "-lc" "-lm" "-L" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/libstd-7730ffa574cdbd9d.dylib" "-Wl,-dead_strip" "-dynamiclib" "-Wl,-dylib" "-Wl,-install_name,@rpath/libstd-7730ffa574cdbd9d.dylib" "-nodefaultlibs" "-Wl,-rpath,@loader_path/../lib"
  = note: ld: unknown option: --no-undefined-version
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

[RUSTC-TIMING] std test:false 26.864
error: could not compile `std` due to previous error
Build completed unsuccessfully in 0:12:50

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.