Skip to content

Rollup of 8 pull requests #117308

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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 <estebank@users.noreply.github.com>
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
Collaborator

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
Collaborator

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
Collaborator

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
# for free to join this conversation on GitHub. Already have an account? # 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.