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 7 pull requests #136448

Merged
merged 15 commits into from
Feb 2, 2025
Merged

Rollup of 7 pull requests #136448

merged 15 commits into from
Feb 2, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

RalfJung and others added 15 commits January 14, 2025 16:16
This code detects the case where one of the borrows is inside the
let init expr while the other end is not. If that happens, we don't
want to suggest adding a semicolon, because it won't work.
When the expected and found types have the same textual representation, we add clarifying in parentheses. We now visually highlight it in the output.

Detect a corner case where the clarifying information would be the same for both types and skip it, as it doesn't add anything useful.
`rustc_middle` is a huge crate and it's always good to move stuff out of
it. There are lots of similar methods already on `Span`, so these two
functions, `in_external_macro` and `is_from_async_await`, fit right in.
The diff is big because `in_external_macro` is used a lot by clippy
lints.
…le_decodable, r=oli-obk

Remove rustc_encodable_decodable feature

This has been shown in future-compat reports since Rust 1.79 (rust-lang#116016), released June 2024. Let's see if crater still finds any issues.

Part of rust-lang#134301.

Cc ``@rust-lang/libs-api``
Update encode_utf16 to mention it is native endian

Fixes rust-lang#83102
…de, r=compiler-errors

Clean up MonoItem::instantiation_mode

More progress on cleaning up and documenting instantiation mode selection.

This should have no behavior changes at all, it just rearranges the code inside `MonoItem::instantiation_mode` to a more logical flow and I've tried to explain every choice the implementation is making.
…tor, r=compiler-errors

diagnostics: fix borrowck suggestions for if/while let conditionals

This code detects the case where one of the borrows is inside the let init expr while the other end is not. If that happens, we don't want to suggest adding a semicolon, because it won't work.

Fixes rust-lang#133941
…r=compiler-errors

Highlight clarifying information in "expected/found" error

When the expected and found types have the same textual representation, we add clarifying in parentheses. We now visually highlight it in the output.

Detect a corner case where the clarifying information would be the same for both types and skip it, as it doesn't add anything useful.

![Screenshot of the rustc highlighted output on the terminal](https://github.com/user-attachments/assets/aa4b9433-5332-4941-b2c2-1a43e5cadff7)
…, r=Noratrieb

Convert two `rustc_middle::lint` functions to `Span` methods.

`rustc_middle` is a huge crate and it's always good to move stuff out of it. There are lots of similar methods already on `Span`, so these two functions, `in_external_macro` and `is_from_async_await`, fit right in. The diff is big because `in_external_macro` is used a lot by clippy lints.

r? ``@Noratrieb``
…table_modules-deprecation-required, r=compiler-errors

rustc_allowed_through_unstable_modules: require deprecation message

This changes the `#[rustc_allowed_through_unstable_modules]` attribute so that a deprecation message (ideally directing people towards the stable path) is required.
@rustbot rustbot added 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 Feb 2, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Feb 2, 2025

📌 Commit 961bf7f 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 Feb 2, 2025
@bors
Copy link
Contributor

bors commented Feb 2, 2025

⌛ Testing commit 961bf7f with merge 4a43094...

@rust-highfive
Copy link
Collaborator

📣 Toolstate changed by #136448!

Tested on commit 4a43094.
Direct link to PR: #136448

💔 edition-guide on windows: test-pass → test-fail (cc @ehuss).
💔 edition-guide on linux: test-pass → test-fail (cc @ehuss).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Feb 2, 2025
Tested on commit rust-lang/rust@4a43094.
Direct link to PR: <rust-lang/rust#136448>

💔 edition-guide on windows: test-pass → test-fail (cc @ehuss).
💔 edition-guide on linux: test-pass → test-fail (cc @ehuss).
@bors
Copy link
Contributor

bors commented Feb 2, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 4a43094 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Feb 2, 2025
@bors bors merged commit 4a43094 into rust-lang:master Feb 2, 2025
7 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Feb 2, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#134272 Remove rustc_encodable_decodable feature 84bd933ac8a613f1a670ea51fc52c7c991252bb6 (link)
#136283 Update encode_utf16 to mention it is native endian ab59aa7d37755bc537292f0a3a4f3489eb4ca708 (link)
#136394 Clean up MonoItem::instantiation_mode 09b4dde41a8f8cbe216a87340d1e7ccefed8da76 (link)
#136402 diagnostics: fix borrowck suggestions for if/while let cond… f3cb010d479181591e2f318c0cd2df21df477776 (link)
#136415 Highlight clarifying information in "expected/found" error a7c7b270feaee17adaf6e9ed5c748c3dd8c6e0d5 (link)
#136422 Convert two rustc_middle::lint functions to Span method… 2995b633055e7b56982dbfda139b5d2793d6215c (link)
#136434 rustc_allowed_through_unstable_modules: require deprecation… 98393f509063c7a25ff01884e5403bb2dd90baa5 (link)

previous master: 6c0de7f8fc

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 (4a43094): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

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

Max RSS (memory usage)

Results (primary 0.7%)

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)
3.3% [3.3%, 3.3%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.0% [-2.0%, -2.0%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.7% [-2.0%, 3.3%] 2

Cycles

Results (primary 1.2%)

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)
1.2% [1.2%, 1.2%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.2% [1.2%, 1.2%] 1

Binary size

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

Bootstrap: 778.752s -> 777.802s (-0.12%)
Artifact size: 328.73 MiB -> 328.69 MiB (-0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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-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.