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 10 pull requests #122735

Merged
merged 26 commits into from
Mar 19, 2024
Merged

Rollup of 10 pull requests #122735

merged 26 commits into from
Mar 19, 2024

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

jieyouxu and others added 26 commits March 15, 2024 14:59
# Conflicts:
#	tests/ui/lint/lint-qualification.stderr
A bit of an inelegant fix but given that the error is created only
after call to `const_eval_poly()` and that the calling function
cannot propagate the error anywhere else, the error has to be
explicitly handled inside `mono_item.rs`.
For ref pattern in func param, the mutability suggestion has to apply to the binding.

For example: `fn foo(&x: &i32)` -> `fn foo(&(mut x): &i32)`

fixes rust-lang#122415
There are many cases where, due to codegen or a massively unruly codebase,
a deeply nested call(call(call(call(call(call(call(call(call(f())))))))))
can happen. This is a spot where it would be good to grow our stack, so that
we can survive to tell the programmer their code is dubiously written.
Which enables ui tests to use auxiliary binaries. See the added
self-test for an example.
…bal_paths, r=petrochenkov

Don't trigger `unused_qualifications` on global paths

Fixes rust-lang#122374.
…, r=petrochenkov

Extend format arg help for simple tuple index access expression

The help is only applicable for simple field access `a.b` and (with this PR) simple tuple index access expressions `a.0`.

Closes rust-lang#122535.
compiletest: Add support for `//@ aux-bin: foo.rs`

Which enables ui tests to use auxiliary binaries. See the added
self-test for an example.

This is an enabler for the test in rust-lang#121573.
Fix incorrect mutable suggestion information for binding in ref pattern.

For ref pattern in func param, the mutability suggestion has to apply to the binding.

For example: `fn foo(&x: &i32)` -> `fn foo(&(mut x): &i32)`

fixes rust-lang#122415
…manieu

Fix ICE: `global_asm!()` Don't Panic When Unable to Evaluate Constant

Fixes rust-lang#121099

A bit of an inelegant fix but given that the error is created only
after call to `const_eval_poly()` and that the calling function
cannot propagate the error anywhere else, the error has to be
explicitly handled inside `mono_item.rs`.

r? `@Amanieu`
…rgument, r=lcnr

Change only_local to a enum type.

Change only_local to enum type and change the macros to always require a variant of that enum.

r? `@lcnr`
…ll-call-calling-me-maybe, r=compiler-errors

Ensure stack before parsing dot-or-call

There are many cases where, due to codegen or a massively unruly codebase, a deeply nested `call(call(call(call(call(call(call(call(call(f())))))))))` can happen. This is a spot where it would be good to grow our stack, so that we can survive to tell the programmer their code is dubiously written.

Closes rust-lang#122715
…fee1-dead

Ensure nested statics have a HIR node to prevent various queries from ICEing

fixes rust-lang/miri#3389
…test, r=compiler-errors

add test for casting pointer to union with unsized tail

closes rust-lang#122581
@rustbot rustbot added 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. labels Mar 19, 2024
@rustbot rustbot added T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Mar 19, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=10

@bors
Copy link
Contributor

bors commented Mar 19, 2024

📌 Commit 433449a 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 19, 2024
@bors
Copy link
Contributor

bors commented Mar 19, 2024

⌛ Testing commit 433449a with merge e760daa...

@bors
Copy link
Contributor

bors commented Mar 19, 2024

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

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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#122435 Don't trigger unused_qualifications on global paths 78c3e8d9deaa0387d947eed0ec931eab3aa50096 (link)
#122556 Extend format arg help for simple tuple index access expres… ee30acfba59690af00542c3714e3dbef6fded12e (link)
#122634 compiletest: Add support for //@ aux-bin: foo.rs 16a0c399b364fb6d34a36348c5978348c8479d8e (link)
#122677 Fix incorrect mutable suggestion information for binding in… 2c9db351c076f4bb7845b882a1a88cf1481e5fc1 (link)
#122691 Fix ICE: global_asm!() Don't Panic When Unable to Evaluat… a6c75aa72a19f12d69a714720ccdbe22e2ce449b (link)
#122695 Change only_local to a enum type. 453d0e4f024f72fd42c9429cbc24323e593caf21 (link)
#122717 Ensure stack before parsing dot-or-call 3b2ed7e329f4931211416d46b780b98aee700642 (link)
#122719 Ensure nested statics have a HIR node to prevent various qu… c078f861722799cdb389a2e682a5214f87f023c1 (link)
#122720 [doc]:fix error code example 0701c9b9ef37da505e37fc06317c1641606f5a5a (link)
#122724 add test for casting pointer to union with unsized tail 6bf5059ca90839812b3a1abec9413a31790a71f9 (link)

previous master: a385e5667c

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

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.3% [0.1%, 0.6%] 5
Improvements ✅
(primary)
-0.7% [-0.8%, -0.3%] 11
Improvements ✅
(secondary)
-0.3% [-0.3%, -0.3%] 1
All ❌✅ (primary) -0.7% [-0.8%, -0.3%] 11

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)
5.0% [5.0%, 5.0%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.0% [-4.7%, -2.2%] 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.0% [2.0%, 2.0%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 667.729s -> 670.459s (0.41%)
Artifact size: 312.74 MiB -> 312.77 MiB (0.01%)

@rustbot rustbot added the perf-regression Performance regression. label Mar 20, 2024
@Kobzol
Copy link
Contributor

Kobzol commented Mar 20, 2024

Trying #122435.

@rust-timer build 78c3e8d

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (78c3e8d): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

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

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

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.729s -> 668.055s (0.05%)
Artifact size: 312.74 MiB -> 312.75 MiB (0.00%)

@rylev
Copy link
Member

rylev commented Mar 26, 2024

Seems like the improvements outweigh the small regressions. I'm not sure that we need to address this (though don't let that stop anyone from doing so).

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Mar 26, 2024
@matthiaskrgr matthiaskrgr deleted the rollup-pgb1s90 branch September 1, 2024 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. 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. 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.