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

eagerly prove WF when resolving fully qualified paths #136928

Merged
merged 2 commits into from
Feb 14, 2025

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented Feb 12, 2025

fixes rust-lang/trait-system-refactor-initiative#161.

This hopefully shouldn't impact perf. I do think we need to deal with at least part of the fallout here, opening for vibes.

r? @compiler-errors

@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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Feb 12, 2025
Copy link
Contributor Author

@lcnr lcnr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

file bug for #58734, already a problem on future edition

also remove the hack in

                if !trait_missing_method {
                    self.register_wf_obligation(
                        ty.raw.into(),
                        qself.span,
                        ObligationCauseCode::WellFormed(None),
                    );
                }

@lcnr lcnr marked this pull request as ready for review February 13, 2025 22:18
@compiler-errors
Copy link
Member

compiler-errors commented Feb 13, 2025

Remove the redundant WF check, open a diagnostics issue, and then r=me

@lcnr lcnr force-pushed the method-lookup-check-wf branch from 4ac70d3 to 7413c8f Compare February 13, 2025 23:04
@lcnr
Copy link
Contributor Author

lcnr commented Feb 13, 2025

@bors r=compiler-errors rollup=maybe

@bors
Copy link
Contributor

bors commented Feb 13, 2025

📌 Commit 7413c8f 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 Feb 13, 2025
@lcnr
Copy link
Contributor Author

lcnr commented Feb 13, 2025

opened #136994 for the diagnostics issue

@rust-log-analyzer

This comment has been minimized.

@lcnr lcnr force-pushed the method-lookup-check-wf branch from 7413c8f to 83a0261 Compare February 13, 2025 23:37
@lcnr
Copy link
Contributor Author

lcnr commented Feb 13, 2025

@bors r=compiler-errors

@bors
Copy link
Contributor

bors commented Feb 13, 2025

📌 Commit 83a0261 has been approved by compiler-errors

It is now in the queue for this repository.

workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Feb 14, 2025
…piler-errors

eagerly prove WF when resolving fully qualified paths

fixes rust-lang/trait-system-refactor-initiative#161.

This hopefully shouldn't impact perf. I do think we need to deal with at least part of the fallout here, opening for vibes.

r? `@compiler-errors`
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 14, 2025
…kingjubilee

Rollup of 11 pull requests

Successful merges:

 - rust-lang#136863 (rework rigid alias handling )
 - rust-lang#136869 (Fix diagnostic when using = instead of : in let binding)
 - rust-lang#136895 (debuginfo: Set bitwidth appropriately in enum variant tags)
 - rust-lang#136928 (eagerly prove WF when resolving fully qualified paths)
 - rust-lang#136941 (Move `llvm.ccache` to `build.ccache`)
 - rust-lang#136950 (rustdoc: use better, consistent SVG icons for scraped examples)
 - rust-lang#136957 (coverage: Eliminate more counters by giving them to unreachable nodes)
 - rust-lang#136960 (Compiletest should not inherit all host RUSTFLAGS)
 - rust-lang#136962 (unify LLVM version finding logic)
 - rust-lang#136970 (ci: move `x86_64-gnu-debug` job to the free runner)
 - rust-lang#136973 (Fix `x test --stage 1 ui-fulldeps` on macOS (until the next beta bump))

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 1b603f9 into rust-lang:master Feb 14, 2025
6 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Feb 14, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 14, 2025
Rollup merge of rust-lang#136928 - lcnr:method-lookup-check-wf, r=compiler-errors

eagerly prove WF when resolving fully qualified paths

fixes rust-lang/trait-system-refactor-initiative#161.

This hopefully shouldn't impact perf. I do think we need to deal with at least part of the fallout here, opening for vibes.

r? ``@compiler-errors``
@lcnr lcnr deleted the method-lookup-check-wf branch February 14, 2025 13:13
@Kobzol
Copy link
Contributor

Kobzol commented Feb 18, 2025

@rust-timer build 4b77d8e

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (4b77d8e): comparison URL.

Overall result: ❌ regressions - please read the text below

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +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.6% [0.3%, 0.9%] 3
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.6% [0.3%, 0.9%] 3

Max RSS (memory usage)

Results (primary 0.5%)

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

Cycles

Results (primary -0.5%, secondary 4.9%)

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.6% [1.6%, 1.6%] 1
Regressions ❌
(secondary)
4.9% [4.4%, 5.5%] 9
Improvements ✅
(primary)
-2.7% [-2.7%, -2.7%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.5% [-2.7%, 1.6%] 2

Binary size

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

Bootstrap: 789.427s -> 789.653s (0.03%)
Artifact size: 347.75 MiB -> 347.78 MiB (0.01%)

@rustbot rustbot added the perf-regression Performance regression. label Feb 18, 2025
@Kobzol
Copy link
Contributor

Kobzol commented Feb 19, 2025

This PR caused a few tiny regressions in #137001, but no further action is needed IMO, especially since this is a fix.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. 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. 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.

nalgebra depends on incomplete guidance from env during method selection
7 participants