Skip to content

properly ignore the current goal's usages - #164008

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
sjwang05:ignore-usages
Oct 9, 2026
Merged

rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
sjwang05:ignore-usages

Conversation

@sjwang05

@sjwang05 sjwang05 commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Found this while working on rust-lang/trait-system-refactor-initiative#278. HeadUsages is Copy, so .unwrap().ignore_usages() mutates the copy instead of entry's field 😄

On many-where-clauses-with-aliases-hang.rs, I had about a 2x wall time improvement, but only with -Zdisable-param-env-normalization-hack. I'm not sure if the difference is observable with just plain -Znext-solver.

r? lcnr

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 8, 2026
@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Oct 8, 2026
@lcnr

lcnr commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

🤣 good fucking shit

@bors try @rust-timer queue

r=me

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 9, 2026
rust-bors Bot pushed a commit that referenced this pull request Oct 9, 2026
properly ignore the current goal's usages
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 4168d54 (4168d5443ca92e2e65eadc75a0fd07ce6a8da8fe)
Base parent: 76c9095 (76c90957b7e422c4b9c45192b0197214d7de5a54)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (4168d54): comparison URL.

Overall result: no relevant changes - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

This perf run didn't have relevant results for this metric.

Cycles

Results (primary -2.7%, secondary 3.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.5% [3.5%, 3.5%] 1
Improvements ✅
(primary)
-2.7% [-2.7%, -2.7%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.7% [-2.7%, -2.7%] 1

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 490.84s -> 488.237s (-0.53%)
Artifact size: 406.48 MiB -> 406.43 MiB (-0.01%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 9, 2026
@lcnr

lcnr commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

@bors r+ rollup

@rust-bors

rust-bors Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 5941c0b has been approved by lcnr

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 Oct 9, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 9, 2026
properly ignore the current goal's usages

Found this while working on rust-lang/trait-system-refactor-initiative#278. `HeadUsages` is `Copy`, so `.unwrap().ignore_usages()` mutates the copy instead of `entry`'s field 😄

On `many-where-clauses-with-aliases-hang.rs`, I had about a 2x wall time improvement, but only with `-Zdisable-param-env-normalization-hack`. I'm not sure if the difference is observable with just plain `-Znext-solver`.

r? lcnr
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 9, 2026
properly ignore the current goal's usages

Found this while working on rust-lang/trait-system-refactor-initiative#278. `HeadUsages` is `Copy`, so `.unwrap().ignore_usages()` mutates the copy instead of `entry`'s field 😄

On `many-where-clauses-with-aliases-hang.rs`, I had about a 2x wall time improvement, but only with `-Zdisable-param-env-normalization-hack`. I'm not sure if the difference is observable with just plain `-Znext-solver`.

r? lcnr
rust-bors Bot pushed a commit that referenced this pull request Oct 9, 2026
…uwer

Rollup of 24 pull requests

Successful merges:

 - #161998 ( Support type-relative assoc item paths in generic param defaults & const param types)
 - #162106 (Helpful suggestions for incorrect address-of mutability (2))
 - #162652 (Syntactically reject leading parenthesized precise capturing lists in bare trait object types (`(use<…>)+`))
 - #163337 (MIR move elimination [3/6]: PreciseLiveness)
 - #163938 (-Zassumptions-on-binders: rewrite alias outlives constraints more goodly)
 - #163939 (Better debug impls for some assumptions on binders types)
 - #163954 (fix(bootstrap/darwin): fix rpath for distributed LLD)
 - #163956 (Pass the unremapped path to the `rustc` invocation for doctests)
 - #164042 (Allow testing cg-gcc on any target)
 - #162443 (Do not retain `Normalization` goal errors in nested goals for `BestObligationVisitor:: non_trivial_candidates `)
 - #162908 (Fix - const parameters rejected when identical)
 - #163193 (cfi: mangle `f128` as `e` rather than `g` on platforms without `_Float128`)
 - #163634 (move overflow lint computation into decorator)
 - #163666 (Updates the expect message library/core/src/time.rs)
 - #163727 (rigid aliases to non-rigid for fully normalized check)
 - #163745 (replace `fully_monomorphized` with `cx.typing_env()`)
 - #163912 (Fix debug assert failure in `note_obligation_cause_code_inner`)
 - #163950 (don't treat inherited opaques as defining)
 - #163972 (const-eval: ICE when we hit a non-const fn)
 - #164000 (When mentioning that closure doesn't implement trait, point at closure)
 - #164007 ([rustdoc] Prefer local paths over remote ones when foreign item is locally reexported)
 - #164008 (properly ignore the current goal's usages)
 - #164017 (cg_llvm: Avoid some explicit casts to `*const c_char`)
 - #164025 (Less `CanonicalVarValues`)
@rust-bors
rust-bors Bot merged commit 87b85b0 into rust-lang:main Oct 9, 2026
15 checks passed
rust-bors Bot pushed a commit that referenced this pull request Oct 9, 2026
Rollup merge of #164008 - sjwang05:ignore-usages, r=lcnr

properly ignore the current goal's usages

Found this while working on rust-lang/trait-system-refactor-initiative#278. `HeadUsages` is `Copy`, so `.unwrap().ignore_usages()` mutates the copy instead of `entry`'s field 😄

On `many-where-clauses-with-aliases-hang.rs`, I had about a 2x wall time improvement, but only with `-Zdisable-param-env-normalization-hack`. I'm not sure if the difference is observable with just plain `-Znext-solver`.

r? lcnr
@cuviper cuviper added this to the 1.101.0 milestone Oct 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants