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

Rollup of 8 pull requests #118082

Merged
merged 39 commits into from
Nov 20, 2023
Merged

Rollup of 8 pull requests #118082

merged 39 commits into from
Nov 20, 2023

Conversation

compiler-errors
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

antoyo and others added 30 commits October 26, 2023 17:42
Do not emit .eh_frame section if using -Cpanic=abort
…signed and unsigned shift amounts in the same branch
When encountering code that seems like it might be trying to have
multiple tail expressions depending on `cfg` information, suggest
alternatives that will success to parse.

```rust
fn foo() -> String {
    #[cfg(feature = "validation")]
    [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>()
    #[cfg(not(feature = "validation"))]
    String::new()
}
```

```
error: expected `;`, found `#`
  --> $DIR/multiple-tail-expr-behind-cfg.rs:5:64
   |
LL |     #[cfg(feature = "validation")]
   |     ------------------------------ only `;` terminated statements or tail expressions are allowed after this attribute
LL |     [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>()
   |                                                                ^ expected `;` here
LL |     #[cfg(not(feature = "validation"))]
   |     - unexpected token
   |
help: add `;` here
   |
LL |     [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>();
   |                                                                +
help: alternatively, consider surrounding the expression with a block
   |
LL |     { [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>() }
   |     +                                                             +
help: it seems like you are trying to provide different expressions depending on `cfg`, consider using `if cfg!(..)`
   |
LL ~     if cfg!(feature = "validation") {
LL ~         [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>()
LL ~     } else if cfg!(not(feature = "validation")) {
LL ~         String::new()
LL +     }
   |
```

Fix rust-lang#106020.
…lives, r=aliemjay

Make regionck care about placeholders in outlives components

Currently, we don't consider a placeholder type `!T` to be a type component when it comes to processing type-outlives obligations. This means that they are essentially treated like unit values with no sub-components, and always outlive any region. This is problematic for `non_lifetime_binders`, and even more problematic for `with_negative_coherence`, since negative coherence uses placeholders as universals.

This PR adds `Component::Placeholder` which acts much like `Component::Param`. This currently causes a regression in some non-lifetime-binders tests because `for<T> T: 'static` doesn't imply itself when processing outlives obligations, so code like this will fail:

```
fn foo() where for<T> T: 'static {
  foo() //~ fails
}
```

Since the where clause doesn't imply itself. This requires making the `MatchAgainstHigherRankedOutlives` relation smarter when it comes to binders.

r? types
…11-17, r=cjgillot

subtree update cg_gcc 2023/11/17
@rustbot rustbot added O-linux Operating system: Linux O-unix Operating system: Unix-like 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. rollup A PR which is a rollup labels Nov 20, 2023
@compiler-errors
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Contributor

bors commented Nov 20, 2023

📌 Commit 791ed33 has been approved by compiler-errors

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 Nov 20, 2023
@bors
Copy link
Contributor

bors commented Nov 20, 2023

⌛ Testing commit 791ed33 with merge 95d5b88...

bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 20, 2023
…mpiler-errors

Rollup of 8 pull requests

Successful merges:

 - rust-lang#117828 (Avoid iterating over hashmaps in astconv)
 - rust-lang#117832 (interpret: simplify handling of shifts by no longer trying to handle signed and unsigned shift amounts in the same branch)
 - rust-lang#117891 (Recover `dyn` and `impl` after `for<...>`)
 - rust-lang#117957 (if available use a Child's pidfd for kill/wait)
 - rust-lang#117988 (Handle attempts to have multiple `cfg`d tail expressions)
 - rust-lang#117994 (Ignore but do not assume region obligations from unifying headers in negative coherence)
 - rust-lang#118000 (Make regionck care about placeholders in outlives components)
 - rust-lang#118068 (subtree update cg_gcc 2023/11/17)

r? `@ghost`
`@rustbot` modify labels: rollup
@matthiaskrgr
Copy link
Member

seems stuck

@matthiaskrgr
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Nov 20, 2023

💡 This pull request was already approved, no need to approve it again.

  • This pull request is currently being tested. If there's no response from the continuous integration service, you may use retry to trigger a build again.

@bors
Copy link
Contributor

bors commented Nov 20, 2023

📌 Commit 791ed33 has been approved by matthiaskrgr

It is now in the queue for this repository.

@rust-log-analyzer
Copy link
Collaborator

A job 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 Nov 20, 2023

⌛ Testing commit 791ed33 with merge 46ecc10...

@bors
Copy link
Contributor

bors commented Nov 20, 2023

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 46ecc10 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 20, 2023
@bors bors merged commit 46ecc10 into rust-lang:master Nov 20, 2023
@rustbot rustbot added this to the 1.76.0 milestone Nov 20, 2023
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#117828 Avoid iterating over hashmaps in astconv 5cb425ab7ba19fee69e941ac08a8c355f15a3bab (link)
#117832 interpret: simplify handling of shifts by no longer trying … 6ce269bbb3e2cd2401ff62b44341b6f68efd08b0 (link)
#117891 Recover dyn and impl after for<...> 71628b82d892cd85003fb8905eff5d1dadc22560 (link)
#117957 if available use a Child's pidfd for kill/wait 47015a49fd043ff741d45538796baf1ea78e7867 (link)
#117988 Handle attempts to have multiple cfgd tail expressions ee730ffa9c648f9e7f4e31bc4340c2fb73681512 (link)
#117994 Ignore but do not assume region obligations from unifying h… e37fecd5c8ca133ac1ecf3bd28a0aada89d2c67d (link)
#118000 Make regionck care about placeholders in outlives components 88b8e5e0d31cff0b2fd5f9966cb9079dfca3444c (link)
#118068 subtree update cg_gcc 2023/11/17 cc7a79ed681bea1aa5dd728476329ceac97f31af (link)

previous master: 79e961fa72

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (46ecc10): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results

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.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.3% [3.2%, 3.4%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.1% [-4.4%, -0.8%] 3
All ❌✅ (primary) - - 0

Cycles

Results

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.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.7% [2.2%, 3.3%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.2% [-2.5%, -2.1%] 5
All ❌✅ (primary) - - 0

Binary size

Results

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.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.2% [0.2%, 0.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Bootstrap: 674.774s -> 677.019s (0.33%)
Artifact size: 313.77 MiB -> 313.78 MiB (0.00%)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
merged-by-bors This PR was explicitly merged by bors. O-linux Operating system: Linux O-unix Operating system: Unix-like rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.