Skip to content

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
Collaborator

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
Collaborator

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
Collaborator

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
Collaborator

bors commented Mar 14, 2024

⌛ Testing commit c52ce4e with merge 6f3eb1c...

@bors
Copy link
Collaborator

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
@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.