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 #117308

Closed
wants to merge 49 commits into from

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

RalfJung and others added 11 commits October 27, 2023 18:07
```
error[E0277]: the trait bound `S: d::Hidden` is not satisfied
  --> $DIR/sealed-trait-local.rs:53:20
   |
LL | impl c::Sealed for S {}
   |                    ^ the trait `d::Hidden` is not implemented for `S`
   |
note: required by a bound in `c::Sealed`
  --> $DIR/sealed-trait-local.rs:17:23
   |
LL |     pub trait Sealed: self::d::Hidden {
   |                       ^^^^^^^^^^^^^^^ required by this bound in `Sealed`
   = note: `Sealed` is a "sealed trait", because to implement it you also need to implement `c::d::Hidden`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
   = help: the following types implement the trait:
            - c::X
            - c::Y
```

The last `help` is new.
Co-authored-by: Esteban Kuber <[email protected]>
Remove -Zdep-tasks.

This option is not useful any more, we can use `tracing` and `RUSTC_LOG` to debug the dep-graph.
…ubilee

Bump stdarch submodule and remove special handling for LLVM intrinsics that are no longer needed

Bumps stdarch to pull rust-lang/stdarch#1477, which reimplemented some functions with portable SIMD intrinsics instead of arch specific LLVM intrinsics.

Handling of those LLVM intrinsics is removed from cranelift codegen and miri.

cc `@RalfJung` `@bjorn3`
…rochenkov

When encountering sealed traits, point types that implement it

```
error[E0277]: the trait bound `S: d::Hidden` is not satisfied
  --> $DIR/sealed-trait-local.rs:53:20
   |
LL | impl c::Sealed for S {}
   |                    ^ the trait `d::Hidden` is not implemented for `S`
   |
note: required by a bound in `c::Sealed`
  --> $DIR/sealed-trait-local.rs:17:23
   |
LL |     pub trait Sealed: self::d::Hidden {
   |                       ^^^^^^^^^^^^^^^ required by this bound in `Sealed`
   = note: `Sealed` is a "sealed trait", because to implement it you also need to implement `c::d::Hidden`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
   = help: the following types implement the trait:
            - c::X
            - c::Y
```

The last `help` is new.
…pl, r=petrochenkov

Cleanup and improve `--check-cfg` implementation

This PR removes some indentation in the code, as well as preventing some bugs/misusages and fix a nit in the doc.

r? ``@petrochenkov`` (maybe)
…tests, r=cjgillot

Add FileCheck annotations to MIR-opt inlining tests

Part of rust-lang#116971, adds FileCheck annotations to MIR-opt tests in `tests/mir-opt/inline`.

I left out a few (such as `inline_cycle`) where it mentioned that the particular outcome of inlining isn't important, just that the inliner doesn't get stuck in an infinite loop.

r? cjgillot
…-errors

Parse rustc version at compile time

This PR eliminates a couple awkward codepaths where it was not clear how the compiler should proceed if its own version number is incomprehensible.

https://github.com/rust-lang/rust/blob/dab715641e96a61a534587fda9de1128b75b34dc/src/tools/clippy/clippy_utils/src/qualify_min_const_fn.rs#L385

https://github.com/rust-lang/rust/blob/dab715641e96a61a534587fda9de1128b75b34dc/compiler/rustc_attr/src/builtin.rs#L630

We can guarantee that every compiled rustc comes with a working version number, so the ICE codepaths above shouldn't need to be written.
…li-obk

fix failure to detect a too-big-type after adding padding

Fixes rust-lang#117265
@rustbot rustbot added A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) 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-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Oct 28, 2023
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Contributor

bors commented Oct 28, 2023

📌 Commit b0c996a has been approved by matthiaskrgr

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 Oct 28, 2023
@bors
Copy link
Contributor

bors commented Oct 28, 2023

⌛ Testing commit b0c996a with merge 10d9e28...

bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 28, 2023
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#116534 (Remove -Zdep-tasks.)
 - rust-lang#116609 (Bump stdarch submodule and remove special handling for LLVM intrinsics that are no longer needed)
 - rust-lang#116739 (Make `E0277` use short paths)
 - rust-lang#116945 (When encountering sealed traits, point types that implement it)
 - rust-lang#117025 (Cleanup and improve `--check-cfg` implementation)
 - rust-lang#117029 (Add FileCheck annotations to MIR-opt inlining tests )
 - rust-lang#117256 (Parse rustc version at compile time)
 - rust-lang#117277 (fix failure to detect a too-big-type after adding padding)

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

The job test-various failed! Check out the build log: (web) (plain)

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

---- [mir-opt] tests/mir-opt/inline/inline_coroutine.rs stdout ----
4   fn main() -> () {
5       let mut _0: ();
6       let _1: std::ops::CoroutineState<i32, bool>;
-       let mut _2: std::pin::Pin<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}>;
-       let mut _3: &mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8};
-       let mut _4: {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8};
+       let mut _2: std::pin::Pin<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}>;
+       let mut _3: &mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8};
+       let mut _4: {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8};
10 +     let mut _5: bool;
11       scope 1 {
12           debug _r => _1;
13       }
13       }
14 +     scope 2 (inlined g) {
15 +     }
- +     scope 3 (inlined Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}>::new) {
+ +     scope 3 (inlined Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}>::new) {
17 +         debug pointer => _3;
18 +         scope 4 {
- +             scope 5 (inlined Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}>::new_unchecked) {
+ +             scope 5 (inlined Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}>::new_unchecked) {
20 +                 debug pointer => _3;
22 +         }

23 +     }
23 +     }
24 +     scope 6 (inlined g::{closure#0}) {
25 +         debug a => _5;
- +         let mut _6: &mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8};
+ +         let mut _6: &mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8};
27 +         let mut _7: u32;
28 +         let mut _8: i32;

34           StorageLive(_3);
35           StorageLive(_4);
35           StorageLive(_4);
36 -         _4 = g() -> [return: bb1, unwind unreachable];
- +         _4 = {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8 (#0)};
+ +         _4 = {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8 (#0)};
38 +         _3 = &mut _4;
- +         _2 = Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}> { pointer: move _3 };
+ +         _2 = Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}> { pointer: move _3 };
40 +         StorageDead(_3);
41 +         StorageLive(_5);
42 +         _5 = const false;
43 +         StorageLive(_6);
44 +         StorageLive(_7);
44 +         StorageLive(_7);
- +         _6 = (_2.0: &mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8});
+ +         _6 = (_2.0: &mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8});
46 +         _7 = discriminant((*_6));
47 +         switchInt(move _7) -> [0: bb3, 1: bb7, 3: bb8, otherwise: bb9];

49   
50       bb1: {
51 -         _3 = &mut _4;
51 -         _3 = &mut _4;
- -         _2 = Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}>::new(move _3) -> [return: bb2, unwind unreachable];
+ -         _2 = Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}>::new(move _3) -> [return: bb2, unwind unreachable];
53 +         StorageDead(_7);
54 +         StorageDead(_6);
55 +         StorageDead(_5);
59   
60       bb2: {
61 -         StorageDead(_3);
61 -         StorageDead(_3);
- -         _1 = <{coroutine@$DIR/inline_coroutine.rs:17:5: 17:8} as Coroutine<bool>>::resume(move _2, const false) -> [return: bb3, unwind unreachable];
+ -         _1 = <{coroutine@$DIR/inline_coroutine.rs:19:5: 19:8} as Coroutine<bool>>::resume(move _2, const false) -> [return: bb3, unwind unreachable];
63 +         StorageDead(_4);
64 +         _0 = const ();
65 +         StorageDead(_1);
thread '[mir-opt] tests/mir-opt/inline/inline_coroutine.rs' panicked at src/tools/compiletest/src/runtest.rs:4066:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/inline/inline_coroutine.main.Inline.panic-abort.diff
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


---- [mir-opt] tests/mir-opt/inline/inline_retag.rs stdout ----
40           Retag(_9);
41           _7 = &(*_9);
42           _6 = &(*_7);
- -         _0 = move _2(move _3, move _6) -> [return: bb1, unwind continue];
+ -         _0 = move _2(move _3, move _6) -> [return: bb1, unwind unreachable];
45 - 
46 -     bb1: {

thread '[mir-opt] tests/mir-opt/inline/inline_retag.rs' panicked at src/tools/compiletest/src/runtest.rs:4066:21:
thread '[mir-opt] tests/mir-opt/inline/inline_retag.rs' panicked at src/tools/compiletest/src/runtest.rs:4066:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/inline/inline_retag.bar.Inline.diff

failures:
    [mir-opt] tests/mir-opt/inline/inline_coroutine.rs
    [mir-opt] tests/mir-opt/inline/inline_retag.rs

@bors
Copy link
Contributor

bors commented Oct 28, 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 Oct 28, 2023
@matthiaskrgr matthiaskrgr deleted the rollup-54ihjci branch March 16, 2024 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) 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-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.