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 11 pull requests #122454

Merged
merged 24 commits into from
Mar 14, 2024
Merged

Rollup of 11 pull requests #122454

merged 24 commits into from
Mar 14, 2024

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Enselic and others added 24 commits March 13, 2024 06:24
The header `ignore-unix` is already allowed. Also extend tests.
Signed-off-by: guoguangwu <guoguangwug@gmail.com>
`WrappingRange::is_full` computation assumed that to be full the range
couldn't wrap, which is not necessarily true.

For example, a range of 1..=0 is a valid representation of a full
wrapping range.
The old name came from a time where I wanted to reuse it for
differentiating wildcards from bindings. I don't plan to do this
anymore.
It was inherited from before half-open ranges, but it doesn't pull its
weight anymore. We lose a tiny bit of diagnostic precision.
Add autolabels and mentions for the Exploit Mitigations PG to
triagebot.toml.
The source referent absolutely must be smaller than the destination
referent of a ref-to-ref transmute; the excess bytes referenced
cannot arise from thin air, even if those bytes are uninitialized.
compiletest: Allow `only-unix` in test headers

The header `ignore-unix` is already allowed. Also extend tests.

This is needed by rust-lang#121573 which I am splitting up into smaller and more digestible PRs.
Increase timeout for new bors bot

2 hours isn't enough even to run an uncached try build.. :)

r? ``@Mark-Simulacrum``
Fix StableMIR `WrappingRange::is_full` computation

`WrappingRange::is_full` computation assumed that to be full the range couldn't wrap, which is not necessarily true.

For example, a range of 1..=0 is a valid representation of a full wrapping range.
…-mitigations-pg, r=wesleywiser

Add Exploit Mitigations PG to triagebot.toml
…KO8Ki

Generate link to `Local` in `hir::Let` documentation

This PR adds a missing link generation to `Local` type.
pattern analysis: rename a few types

A few long overdue renames. `ValidityConstraint` was supposed to serve double purpose but I don't need that anymore. I don't know what I was thinking with `TypeCx` I think I was trying to be clever. That's fixed now 😄

r? ``@compiler-errors``
…-errors

pattern analysis: remove `MaybeInfiniteInt::JustAfterMax`

It was inherited from before half-open ranges, but it doesn't pull its weight anymore. We lose a tiny bit of diagnostic precision as can be seen in the test. I'm generally in favor of half-open ranges over explicit `x..=MAX` ranges anyway.
…piler-errors

Safe Transmute: Require that source referent is smaller than destination

`BikeshedIntrinsicFrom` currently models transmute-via-union; i.e., it attempts to provide a `where` bound for this function:
```rust
pub unsafe fn transmute_via_union<Src, Dst>(src: Src) -> Dst {
    use core::mem::*;

    #[repr(C)]
    union Transmute<T, U> {
        src: ManuallyDrop<T>,
        dst: ManuallyDrop<U>,
    }

    let transmute = Transmute { src: ManuallyDrop::new(src) };

    // SAFETY: The caller must guarantee that the transmutation is safe.
    let dst = transmute.dst;

    ManuallyDrop::into_inner(dst)
}
```
A quirk of this model is that it admits padding extensions in value-to-value transmutation: The destination type can be bigger than the source type, so long as the excess consists of uninitialized bytes. However, this isn't permissible for reference-to-reference transmutations (introduced in rust-lang#110662) — extra referent bytes cannot come from thin air.

This PR patches our analysis for reference-to-reference transmutations to require that the destination referent is no larger than the source referent.

r? `@compiler-errors`
…ler-errors

extend docs of -Zprint-mono-items

Currently the values one can set this to are not documented anywhere.

I think ideally this flag wouldn't overwrite the collector's behavior, a "print" flag should just print what happens but not change what happens. But our codegen-units tests rely on being able to collect all items without the other side-effects of `-C link-dead-code` and I can't tell whether that reliance is incidental or crucial, so I'm not touching this and just documenting the (messy) status quo.
…=oli-obk

Delay a bug for stranded opaques

r? oli-obk

Fixes rust-lang#122445
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself 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-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. rollup A PR which is a rollup labels Mar 13, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=11

@bors
Copy link
Contributor

bors commented Mar 13, 2024

📌 Commit c52ce4e 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 Mar 13, 2024
@bors
Copy link
Contributor

bors commented Mar 13, 2024

⌛ Testing commit c52ce4e with merge 06dfdb0...

bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 13, 2024
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#122422 (compiletest: Allow `only-unix` in test headers)
 - rust-lang#122424 (fix: typos)
 - rust-lang#122425 (Increase timeout for new bors bot)
 - rust-lang#122426 (Fix StableMIR `WrappingRange::is_full` computation)
 - rust-lang#122429 (Add Exploit Mitigations PG to triagebot.toml)
 - rust-lang#122430 (Generate link to `Local` in `hir::Let` documentation)
 - rust-lang#122434 (pattern analysis: rename a few types)
 - rust-lang#122437 (pattern analysis: remove `MaybeInfiniteInt::JustAfterMax`)
 - rust-lang#122438 (Safe Transmute: Require that source referent is smaller than destination)
 - rust-lang#122442 (extend docs of -Zprint-mono-items)
 - rust-lang#122449 (Delay a bug for stranded opaques)

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

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

Click to see the possible cause of the failure (guessed by this bot)
test core::builder::tests::test_invalid ... ok
test core::builder::tests::test_valid ... ok
test core::builder::tests::validate_path_remap ... ok
test core::config::tests::clap_verify ... ok
##[error]The runner has received a shutdown signal. This can happen when the runner service is stopped, or a manually started runner is canceled.
##[group]Clock drift check
  local time: Thu Mar 14 00:01:55 UTC 2024
  network time: Thu, 14 Mar 2024 00:01:55 GMT
##[endgroup]
##[endgroup]
Session terminated, killing shell... ...killed.
##[error]The operation was canceled.

@bors
Copy link
Contributor

bors commented Mar 14, 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 Mar 14, 2024
@matthiaskrgr
Copy link
Member Author

@bors retry

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

bors commented Mar 14, 2024

⌛ Testing commit c52ce4e with merge 6f3eb1c...

@bors
Copy link
Contributor

bors commented Mar 14, 2024

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 6f3eb1c to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 14, 2024
@bors bors merged commit 6f3eb1c into rust-lang:master Mar 14, 2024
12 checks passed
@rustbot rustbot added this to the 1.78.0 milestone Mar 14, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#122422 compiletest: Allow only-unix in test headers ce3b7c33a304d3818583c8cddbac2015e6dedcb8 (link)
#122424 fix: typos 7c88905a556ba3edae34cea6d1c1d88ffd51501c (link)
#122425 Increase timeout for new bors bot 135bc66787f4e727f656d932be26958a892fce93 (link)
#122426 Fix StableMIR WrappingRange::is_full computation df4c385d1a638a912bae4ab1f206a09c503f2020 (link)
#122429 Add Exploit Mitigations PG to triagebot.toml d1bdb20c873c181801f4e9e53e7ddffe8ed39c3a (link)
#122430 Generate link to Local in hir::Let documentation bfd46c5b5ac09177862f1a47f5c5e938bfcc094a (link)
#122434 pattern analysis: rename a few types f8eba6e8562316ffad45068824a326d96711f13f (link)
#122437 pattern analysis: remove MaybeInfiniteInt::JustAfterMax 9fef7cc111f4f3b0723635832b7cb4036e87d620 (link)
#122438 Safe Transmute: Require that source referent is smaller tha… a61fc3ea6974b2fab877f10c9fb40e1fceefd692 (link)
#122442 extend docs of -Zprint-mono-items 1b663627b7b515a52da4c3e93f581ceb27137904 (link)
#122449 Delay a bug for stranded opaques 4894f4887277d41bb93623a2d7280faf95ba5b5d (link)

previous master: 5ac0b2d021

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 (6f3eb1c): 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)
- - 0
Improvements ✅
(primary)
-2.2% [-2.2%, -2.2%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.2% [-2.2%, -2.2%] 1

Cycles

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

Binary size

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

Bootstrap: 667.978s -> 670.21s (0.33%)
Artifact size: 310.75 MiB -> 310.75 MiB (0.00%)

@matthiaskrgr matthiaskrgr deleted the rollup-xbmufdc branch March 16, 2024 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. 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-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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.