Skip to content

Trim GoalStalledOn::Certainty - #160886

Open
nnethercote wants to merge 1 commit into
rust-lang:mainfrom
nnethercote:GoalStalledOn-stalled_maybe_info
Open

Trim GoalStalledOn::Certainty#160886
nnethercote wants to merge 1 commit into
rust-lang:mainfrom
nnethercote:GoalStalledOn-stalled_maybe_info

Conversation

@nnethercote

Copy link
Copy Markdown
Contributor

It's always Certainty::Maybe, so we can trim it down to just the MaybeInfo that is within Certainty::Maybe.

r? @lcnr

@rustbot

rustbot commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Some changes occurred to the core trait solver

cc @rust-lang/initiative-trait-system-refactor

@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 Aug 11, 2026
Comment thread compiler/rustc_trait_selection/src/solve/fulfill.rs Outdated
Comment thread compiler/rustc_next_trait_solver/src/solve/eval_ctxt/fast_path.rs Outdated

@lcnr lcnr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

thanks ❤️

two nits

View changes since this review

It's always `Certainty::Maybe`, so we can trim it down to just the
`MaybeInfo` that is within `Certainty::Maybe`. And then the same change
can be made to the field of `RerunStalled::WontMakeProgress`, and
`goal_remains_stalled` can return a bool, and a hot `matches!` in
`try_evaluate_obligations` that never failed can be removed.
@nnethercote
nnethercote force-pushed the GoalStalledOn-stalled_maybe_info branch from 7c7cbc5 to 9d667f0 Compare August 11, 2026 10:40
@rustbot

rustbot commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@nnethercote

Copy link
Copy Markdown
Contributor Author

This now removed a check on the ultra-hot fast path in try_evaluate_obligations, so let's measure perf:

@bors try @rust-timer queue

@rust-timer

Copy link
Copy Markdown
Collaborator

Awaiting bors try build completion.

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

@rust-bors

rust-bors Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

⌛ Trying commit 9d667f0 with merge 13539ad

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/31483333581

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Aug 11, 2026
rust-bors Bot pushed a commit that referenced this pull request Aug 11, 2026
… r=<try>

Trim `GoalStalledOn::Certainty`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-perf Status: Waiting on a perf run to be completed. 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)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants