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 8 pull requests #125689

Closed
wants to merge 25 commits into from
Closed

Conversation

jieyouxu
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Urgau and others added 25 commits April 25, 2024 07:58
error: redundant explicit link target because label contains path that resolves to same destination
This adds the `only-apple`/`ignore-apple` compiletest directive, and
uses that basically everywhere instead of `only-macos`/`ignore-macos`.

Some of the updates in `run-make` are a bit redundant, as they use
`ignore-cross-compile` and won't run on iOS - but using Apple in these
is still more correct, so I've made that change anyhow.
When encountering `use foo::*;` where `foo` fails to be found, and we later
encounter resolution errors, we silence those later errors.

A single case of the above, for an *existing* import on a big codebase would
otherwise have a huge number of knock-down spurious errors.

Ideally, instead of a global flag to silence all subsequent resolve errors,
we'd want to introduce an unameable binding in the appropriate rib as a
sentinel when there's a failed glob import, so when we encounter a resolve
error we can search for that sentinel and if found, and only then, silence
that error. The current approach is just a quick proof of concept to
iterate over.

Partially address rust-lang#96799.
Add an intrinsic for `ptr::metadata`

The follow-up to rust-lang#123840, so we can remove `PtrComponents` and `PtrRepr` from libcore entirely (well, after a bootstrap update).

As discussed in <https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/.60ptr_metadata.60.20in.20MIR/near/435637808>, this introduces `UnOp::PtrMetadata` taking a raw pointer and returning the associated metadata value.

By no longer going through a `union`, this should also help future PRs better optimize pointer operations.

r? `@oli-obk`
Add `--print=check-cfg` to get the expected configs

This PR adds a new `--print` variant `check-cfg` to get the expected configs.

Details and rational can be found on the MCP: rust-lang/compiler-team#743

`@rustbot` label +F-check-cfg +S-waiting-on-MCP
r? `@petrochenkov`
…workingjubilee

Make more of the test suite run on Mac Catalyst

Combined with rust-lang#125225, the only failing parts of the test suite are in `tests/rustdoc-js`, `tests/rustdoc-js-std` and `tests/debuginfo`. Tested with:
```console
./x test --target=aarch64-apple-ios-macabi library/std
./x test --target=aarch64-apple-ios-macabi --skip=tests/rustdoc-js --skip=tests/rustdoc-js-std --skip=tests/debuginfo tests
```

Will probably put up a PR later to enable _running_ on (not just compiling for) Mac Catalyst in CI, though not sure where exactly I should do so? `src/ci/github-actions/jobs.yml`?

Note that I've deliberately _not_ enabled stack overflow handlers on iOS/tvOS/watchOS/visionOS (see rust-lang#25872), but rather just skipped those tests, as it uses quite a few APIs that I'd be weary about getting rejected by the App Store (note that Swift doesn't do it on those platforms either).

r? `@workingjubilee`

CC `@thomcc`

`@rustbot` label O-ios O-apple
Silence some resolve errors when there have been glob import errors

When encountering `use foo::*;` where `foo` fails to be found, and we later encounter resolution errors, we silence those later errors.

A single case of the above, for an *existing* import on a big codebase would otherwise have a huge number of knock-down spurious errors.

Ideally, instead of a global flag to silence all subsequent resolve errors, we'd want to introduce an unnameable binding in the appropriate rib as a sentinel when there's a failed glob import, so when we encounter a resolve error we can search for that sentinel and if found, and only then, silence that error. The current approach is just a quick proof of concept to iterate over.

Partially address rust-lang#96799.
miri: avoid making a full copy of all new allocations

Hopefully fixes rust-lang/miri#3637

r? `@saethlin`
…jieyouxu

Rewrite `lto-smoke`, `simple-rlib` and `mixing-deps` `run-make` tests in `rmake.rs` format

Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
…r=onur-ozkan

Support `./x doc run-make-support --open`

Having easy access to the run-make-support documentation is invaluable when creating run-make tests using the new Rust recipes.
Tweak relations to no longer rely on `TypeTrace`

Remove `At::trace`, and inline all of the `Trace::equate`,etc methods into `At`.

The only nontrivial change is that we use `AliasTerm` to relate two unevaluated consts in the old-solver impl of `ConstEquate`, since `AliasTerm` does implement `ToTrace` and will relate the args structurally (shallowly).

r? lcnr
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 28, 2024
@rustbot rustbot added T-libs Relevant to the library team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative rollup A PR which is a rollup labels May 28, 2024
@jieyouxu
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Contributor

bors commented May 28, 2024

📌 Commit 093791c has been approved by jieyouxu

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 May 28, 2024
@bors
Copy link
Contributor

bors commented May 29, 2024

⌛ Testing commit 093791c with merge 04bf9f0...

bors added a commit to rust-lang-ci/rust that referenced this pull request May 29, 2024
Rollup of 8 pull requests

Successful merges:

 - rust-lang#124251 (Add an intrinsic for `ptr::metadata`)
 - rust-lang#124320 (Add `--print=check-cfg` to get the expected configs)
 - rust-lang#125226 (Make more of the test suite run on Mac Catalyst)
 - rust-lang#125381 (Silence some resolve errors when there have been glob import errors)
 - rust-lang#125633 (miri: avoid making a full copy of all new allocations)
 - rust-lang#125638 (Rewrite `lto-smoke`, `simple-rlib` and `mixing-deps` `run-make` tests in `rmake.rs` format)
 - rust-lang#125639 (Support `./x doc run-make-support --open`)
 - rust-lang#125664 (Tweak relations to no longer rely on `TypeTrace`)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-17 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@bors
Copy link
Contributor

bors commented May 29, 2024

💔 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 May 29, 2024
@jieyouxu
Copy link
Member Author

2024-05-29T02:03:38.9092279Z �[1m�[32m   Compiling�[0m rustc_codegen_cranelift v0.1.0 (/checkout/compiler/rustc_codegen_cranelift)
2024-05-29T02:03:38.9962149Z �[0m�[1m�[38;5;9merror[E0460]�[0m�[0m�[1m: found possibly newer version of crate `rustc_driver_impl` which `rustc_driver` depends on�[0m
2024-05-29T02:03:38.9963200Z �[0m  �[0m�[0m�[1m�[38;5;12m--> �[0m�[0msrc/lib.rs:31:1�[0m
2024-05-29T02:03:38.9963734Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m
2024-05-29T02:03:38.9964396Z �[0m�[1m�[38;5;12m31�[0m�[0m �[0m�[0m�[1m�[38;5;12m|�[0m�[0m �[0m�[0mextern crate rustc_driver;�[0m
2024-05-29T02:03:38.9965217Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m�[0m �[0m�[0m�[1m�[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^^^�[0m
2024-05-29T02:03:38.9965806Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m
2024-05-29T02:03:38.9966480Z �[0m   �[0m�[0m�[1m�[38;5;12m= �[0m�[0m�[1mnote�[0m�[0m: perhaps that crate needs to be recompiled?�[0m
2024-05-29T02:03:38.9967378Z �[0m   �[0m�[0m�[1m�[38;5;12m= �[0m�[0m�[1mnote�[0m�[0m: the following crate versions were found:�[0m
2024-05-29T02:03:38.9968807Z �[0m           crate `rustc_driver_impl`: /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_driver_impl-a9e5f4c095072377.rmeta�[0m
2024-05-29T02:03:38.9970799Z �[0m           crate `rustc_driver`: /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_driver-7279a48950ed3e07.so�[0m
2024-05-29T02:03:38.9971810Z 
2024-05-29T02:03:41.8898988Z �[0m�[1mFor more information about this error, try `rustc --explain E0460`.�[0m
2024-05-29T02:03:41.9038278Z [RUSTC-TIMING] rustc_codegen_cranelift test:false 2.994
2024-05-29T02:03:41.9039603Z �[1m�[31merror�[0m�[1m:�[0m could not compile `rustc_codegen_cranelift` (lib) due to 1 previous error

@jieyouxu
Copy link
Member Author

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 29, 2024
@jieyouxu jieyouxu closed this May 29, 2024
@jieyouxu jieyouxu deleted the rollup-e2waal9 branch May 29, 2024 02:16
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 O-unix Operating system: Unix-like rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative
Projects
None yet
Development

Successfully merging this pull request may close these issues.