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 #125120

Merged
merged 21 commits into from
May 14, 2024
Merged

Rollup of 7 pull requests #125120

merged 21 commits into from
May 14, 2024

Conversation

compiler-errors
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Oneirical and others added 21 commits May 12, 2024 14:00
Use the indentation of the *last* line of the first operand, not the first.

Fixes rust-lang/style-team#189
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
…ent, r=compiler-errors

style-guide: When breaking binops handle multi-line first operand better

Use the indentation of the *last* line of the first operand, not the first.

Fixes rust-lang/style-team#189
Use a proper probe for shadowing impl

r? lcnr
Migrate `run-make/issue-14500` to new `rmake.rs` format

Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

Note: I find suspicious that `libbar.a` is hardcoded and is not using the `STATICLIB` call to adapt to Windows platforms. Is this intentional? If not, this will need to be changed.
only find segs chain for missing methods when no available candidates

Fixes rust-lang#124946

This PR includes two changes:
- Extracting the lookup for the missing method in chains into a single function.
- Calling this function only when there are no candidates available.
…=lcnr

Uplift `AliasTy` and `AliasTerm`

Follow-up from rust-lang#125076.

r? lcnr
Don't do post-method-probe error reporting steps if we're in a suggestion

Currently in method probing, if we fail to pick a method, then we reset and try to collect relevant candidates for method errors:

https://github.com/rust-lang/rust/blob/34582118afaf00b0eb2d209a90b181c7156b501c/compiler/rustc_hir_typeck/src/method/probe.rs#L953-L993

However, we do method lookups via `lookup_method_for_diagnostic` and only care about the result if the method probe was a *success*.

Namely, we don't need to do a bunch of other lookups on failure, since we throw away these results anyways, such as an expensive call to:

https://github.com/rust-lang/rust/blob/34582118afaf00b0eb2d209a90b181c7156b501c/compiler/rustc_hir_typeck/src/method/probe.rs#L959

And:
https://github.com/rust-lang/rust/blob/34582118afaf00b0eb2d209a90b181c7156b501c/compiler/rustc_hir_typeck/src/method/probe.rs#L985

---

This PR also renames some methods so it's clear that they're for diagnostics.

r? `@nnethercote`
…=jieyouxu

Use new utility functions/methods in run-make tests

Little cleanup using new functions/methods I added into the `run-make-support` library.

r? `@jieyouxu`
@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. T-style Relevant to the style team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels May 14, 2024
@compiler-errors
Copy link
Member Author

@bors r+ rollup=never p=7

@bors
Copy link
Contributor

bors commented May 14, 2024

📌 Commit 31016d5 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 May 14, 2024
@bors
Copy link
Contributor

bors commented May 14, 2024

⌛ Testing commit 31016d5 with merge ac385a5...

@bors
Copy link
Contributor

bors commented May 14, 2024

☀️ Test successful - checks-actions
Approved by: compiler-errors
Pushing ac385a5 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 14, 2024
@bors bors merged commit ac385a5 into rust-lang:master May 14, 2024
7 checks passed
@rustbot rustbot added this to the 1.80.0 milestone May 14, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#119838 style-guide: When breaking binops handle multi-line first o… 2cfdb84d278d580881cf1cc37cf5f9c56ae71b61 (link)
#124844 Use a proper probe for shadowing impl b6ce40ac37b0ada020b88a5c443330c45c0b9a5e (link)
#125047 Migrate run-make/issue-14500 to new rmake.rs format 43bc4094c06e189d4386ee2be4692195dd0dcceb (link)
#125080 only find segs chain for missing methods when no available … 39078774e9af84e93f49ebdfc8f4d9aa87d60d22 (link)
#125088 Uplift AliasTy and AliasTerm 3dd3328e4b318aa8f7df6dd6f687b53f7ad51b22 (link)
#125100 Don't do post-method-probe error reporting steps if we're i… 9938f5c2f391af3aba98ac94c809a8c9a7afcd3b (link)
#125118 Use new utility functions/methods in run-make tests e93cf44fbaf7956996f116e143f54dc58d057c77 (link)

previous master: bdfd941f4d

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 (ac385a5): 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.2% [0.2%, 0.2%] 2
Regressions ❌
(secondary)
0.5% [0.3%, 1.0%] 12
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.5%, -0.4%] 2
All ❌✅ (primary) 0.2% [0.2%, 0.2%] 2

Max RSS (memory usage)

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

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: 676.581s -> 679.638s (0.45%)
Artifact size: 315.96 MiB -> 316.03 MiB (0.02%)

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

Kobzol commented May 14, 2024

@rust-timer build b6ce40a

@rust-timer

This comment has been minimized.

@lqd
Copy link
Member

lqd commented May 14, 2024

That PR should only target the new solver 🤔

@Kobzol
Copy link
Contributor

Kobzol commented May 14, 2024

It saw like some trait/diagnostics stuff, so I just planned to try all in turn 😅 I wonder if we can schedule multiple of them at once?

@rust-timer build 3907877

@compiler-errors
Copy link
Member Author

Yeah, I started a perf build for a more likely PR (the AliasTy one): #125088 (comment)

@Kobzol
Copy link
Contributor

Kobzol commented May 14, 2024

Ah, right, we probably can't schedule multiple runs on the same PR, that's annoying. Thanks.

@lqd
Copy link
Member

lqd commented May 14, 2024

A bit strange, I think I saw multiple runs being asked concurrently in the same rollup PR in the past before... (maybe that person did ask, but the bot ignored the multiple requests :3)

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (b6ce40a): comparison URL.

Overall result: ✅ improvements - no 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
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.5% [-0.6%, -0.5%] 2
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 2.0%)

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

Cycles

Results (primary 2.3%)

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

Binary size

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

Bootstrap: 676.581s -> 676.207s (-0.06%)
Artifact size: 315.96 MiB -> 316.08 MiB (0.04%)

@compiler-errors
Copy link
Member Author

It's due to #125088 (comment), though nothing strikes me as immediately obviously less performant in that PR, except for perhaps the assertions I changed.

celinval pushed a commit to celinval/rust-dev that referenced this pull request Jun 4, 2024
Update Rust toolchain from nightly-2024-05-14 to nightly-2024-05-15
without any other source changes.
This is an automatically generated pull request. If any of the CI checks
fail, manual intervention is required. In such a case, review the
changes at https://github.com/rust-lang/rust from
rust-lang@ab14f94
up to
rust-lang@8387315.
The log for this commit range is:
rust-lang@8387315ab3 Auto merge of
rust-lang#125125 - lovesegfault:opt-dist-specify-rustc-perf, r=Mark-Simulacrum
rust-lang@c3c9783de2
feat(tools/opt-dist): allow local builds to specify a rustc-perf
checkout
rust-lang@ac385a5af6 Auto merge of
rust-lang#125120 - compiler-errors:rollup-mnjybwv, r=compiler-errors
rust-lang@31016d5879 Rollup merge of
rust-lang#125118 - GuillaumeGomez:cleanup-run-make, r=jieyouxu
rust-lang@d59f430eec Rollup merge of
rust-lang#125100 - compiler-errors:faster, r=nnethercote
rust-lang@712e7c37f7 Rollup merge of
rust-lang#125088 - compiler-errors:uplift-alias-ty, r=lcnr
rust-lang@8c64acdbdc Rollup merge of
rust-lang#125080 - bvanjoi:fix-124946, r=nnethercote
rust-lang@844c7e826e Rollup merge of
rust-lang#125047 - Oneirical:test5, r=jieyouxu
rust-lang@0458d8a53b Rollup merge of
rust-lang#124844 - compiler-errors:shadow-probe, r=lcnr
rust-lang@36287830a2 Rollup merge of
rust-lang#119838 - joshtriplett:style-guide-binop-indent, r=compiler-errors
rust-lang@ade33b02f2 only find segs chain
for missing methods when no available candidates
rust-lang@bdfd941f4d Auto merge of
rust-lang#123816 - tgross35:f16-f128-mangling, r=michaelwoerister
rust-lang@f97d915173 Use new utility
functions/methods in run-make tests
rust-lang@792a9bdd4b Enable v0 mangling
tests and add checks for `f16`/`f128`
rust-lang@809b84edba Add v0 symbol
mangling for `f16` and `f128`
rust-lang@31026b7fe3 Auto merge of
rust-lang#125023 - morr0ne:linux-none-target, r=Nilstrieb
rust-lang@68407f9049 fix typo in
x86_64-unknown-linux-none docs
rust-lang@c45e831d8f Auto merge of
rust-lang#124228 - compiler-errors:lint-overcaptures, r=oli-obk
rust-lang@58426f4a5b Auto merge of
rust-lang#125026 - Oneirical:clink-tests, r=jieyouxu
rust-lang@e098eb14ae Wording improvement
rust-lang@e2d9c0d938 Fix missing word
rust-lang@57c32a193f style-guide: When
breaking binops handle multi-line first operand better
rust-lang@dbd2ca6478 Use a proper probe
for shadowing impl
rust-lang@052de1da4f And finally add
tests
rust-lang@1529c661e4 Warn against
redundant use<...>
rust-lang@f3fb727b08 Don't suggest using
use<> syntax to capture APITs
rust-lang@6afe1352d9 Suggest adding use<>
syntax
rust-lang@554becc180 Add some commenting
rust-lang@d57e57ca1f Implement initial
IMPL_TRAIT_OVERCAPTURES lint
rust-lang@8f97a2588c Add test to make
sure suggestions are still quick
rust-lang@fba5f44bd8 Auto merge of
rust-lang#125098 - jhpratt:rollup-2qm4gga, r=jhpratt
rust-lang@45b50d303c lto function,
static_library call, rename
rust-lang@9f8cdb286e Remove to_term
rust-lang@1ad28a6f53 Uplift AliasTy
rust-lang@812f89728a fix fmt
rust-lang@2e4c90c3f7 Don't do
post-method-probe error reporting steps if we're in a suggestion
rust-lang@32d74f1800 Rollup merge of
rust-lang#125090 - erickt:bump-fuchsia, r=tmandry
rust-lang@209703af85 Rollup merge of
rust-lang#125072 - Darksonn:pin-dyn-dispatch-sound, r=jhpratt
rust-lang@18d9c039bb Rollup merge of
rust-lang#124997 - gurry:124848-ice-should-be-sized, r=Nadrieril
rust-lang@74a78af0e2 Rollup merge of
rust-lang#116675 - joshlf:patch-10, r=scottmcm
rust-lang@9105c57b7f Auto merge of
rust-lang#124256 - nnethercote:rm-NtIdent-NtLifetime, r=petrochenkov
rust-lang@34582118af Auto merge of
rust-lang#125076 - compiler-errors:alias-term, r=lcnr
rust-lang@95e519ecbf Remove `NtIdent` and
`NtLifetime`.
rust-lang@fa84018c2e Apply nits
rust-lang@58ee9192e0 Migrate fuchsia docs
from `pm` to `ffx`
rust-lang@293b5cb1ca [ptr] Document
maximum allocation size
rust-lang@3bcdf3058e split out AliasTy ->
AliasTerm
rust-lang@b3a78c1d09 Add test for dynamic
dispatch + Pin::new soundness
rust-lang@9a63a42cb7 Remove a `Span` from
`TokenKind::Interpolated`.
rust-lang@71fd2cf5b4 fix function call
and import
rust-lang@a1b5ea0cc2 make tidy happy
rust-lang@f2de5fb2ae rewrite issue-14500
to rmake
rust-lang@a6f237ca85 docs: fix typo in
platform-support docs
rust-lang@923cdb35aa test: Add assembly
tests for x86_64-unknown-linux-none target
rust-lang@10c358f111 Make tidy happy
rust-lang@e37d2989c1 remove trailing
whitespace
rust-lang@a2e7e79a13 Port
c-link-to-rust-va-list-fn to Rust
rust-lang@9cf080099d docs: Document
x86_64-unknown-linux-none target
rust-lang@a3ef01b1fc Add
x86_64-unknown-linux-none target
rust-lang@fb619ec208 FIx ICE while
casting a type with error

Co-authored-by: tautschnig <1144736+tautschnig@users.noreply.github.com>
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. 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-style Relevant to the style team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants