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

NormalizesTo: return nested goals to caller #122687

Merged
merged 5 commits into from
Mar 18, 2024

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented Mar 18, 2024

Fixes the regression of paperclip-core. see https://hackmd.io/IsVAafiOTAaPIFcUxRJufw for more details.

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 Mar 18, 2024
@rustbot
Copy link
Collaborator

rustbot commented Mar 18, 2024

Some changes occurred to the core trait solver

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

@rust-log-analyzer

This comment has been minimized.

@lcnr lcnr force-pushed the normalizes-to-emit-nested-goals branch from 1ae8d1d to f26e1e8 Compare March 18, 2024 14:53
@lcnr lcnr force-pushed the normalizes-to-emit-nested-goals branch from b01097f to 70c52a4 Compare March 18, 2024 16:00
@BoxyUwU
Copy link
Member

BoxyUwU commented Mar 18, 2024

if we never evaluate goals inside of normalizes-to are we able to make normalizes-to a tcx query since we don't actually care about whatever goals are in the search graph for evaluating it? I imagine it would probably suck, we still use the whole candidate assembly machinery so. ?? there would be no real point

@lcnr
Copy link
Contributor Author

lcnr commented Mar 18, 2024

if we never evaluate goals inside of normalizes-to are we able to make normalizes-to a tcx query since we don't actually care about whatever goals are in the search graph for evaluating it? I imagine it would probably suck, we still use the whole candidate assembly machinery so. ?? there would be no real point

we still have to evaluate goals inside of normalizes-to to drop candidates which don't hold due to their nested goals

Copy link
Member

@lqd lqd left a comment

Choose a reason for hiding this comment

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

High-value review comments™

compiler/rustc_type_ir/src/predicate_kind.rs Outdated Show resolved Hide resolved
compiler/rustc_type_ir/src/predicate_kind.rs Outdated Show resolved Hide resolved
@lcnr lcnr force-pushed the normalizes-to-emit-nested-goals branch from 70c52a4 to 0b29b71 Compare March 18, 2024 17:13
@compiler-errors
Copy link
Member

@bors r+ rollup (new solver)

@bors
Copy link
Contributor

bors commented Mar 18, 2024

📌 Commit 0b29b71 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 Mar 18, 2024
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Mar 18, 2024
…ls, r=compiler-errors

`NormalizesTo`: return nested goals to caller

Fixes the regression of `paperclip-core`. see https://hackmd.io/IsVAafiOTAaPIFcUxRJufw for more details.

r? `@compiler-errors`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 18, 2024
…ls, r=compiler-errors

`NormalizesTo`: return nested goals to caller

Fixes the regression of `paperclip-core`. see https://hackmd.io/IsVAafiOTAaPIFcUxRJufw for more details.

r? ``@compiler-errors``
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 18, 2024
…iaskrgr

Rollup of 12 pull requests

Successful merges:

 - rust-lang#121258 (Reject overly generic assoc const binding types)
 - rust-lang#121823 (never patterns: suggest `!` patterns on non-exhaustive matches)
 - rust-lang#122060 (Stabilize `imported_main`)
 - rust-lang#122158 (Provide structured suggestion for `#![feature(foo)]`)
 - rust-lang#122642 (Improve wording of `Vec::swap_remove`)
 - rust-lang#122675 (core: document default attribute stabilization)
 - rust-lang#122687 (`NormalizesTo`: return nested goals to caller)
 - rust-lang#122691 (Fix ICE: `global_asm!()` Don't Panic When Unable to Evaluate Constant)
 - rust-lang#122693 (Fix heading anchors in doc pages.)
 - rust-lang#122699 (Fix a typo in the 1.77.0 relnotes)
 - rust-lang#122700 (Remove redundant files, rename base riscv32 file)
 - rust-lang#122701 (Detect allocator for box in `must_not_suspend` lint)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 18, 2024
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#121258 (Reject overly generic assoc const binding types)
 - rust-lang#121823 (never patterns: suggest `!` patterns on non-exhaustive matches)
 - rust-lang#122060 (Stabilize `imported_main`)
 - rust-lang#122158 (Provide structured suggestion for `#![feature(foo)]`)
 - rust-lang#122642 (Improve wording of `Vec::swap_remove`)
 - rust-lang#122675 (core: document default attribute stabilization)
 - rust-lang#122687 (`NormalizesTo`: return nested goals to caller)
 - rust-lang#122693 (Fix heading anchors in doc pages.)
 - rust-lang#122699 (Fix a typo in the 1.77.0 relnotes)
 - rust-lang#122700 (Remove redundant files, rename base riscv32 file)
 - rust-lang#122701 (Detect allocator for box in `must_not_suspend` lint)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit e906205 into rust-lang:master Mar 18, 2024
11 checks passed
@rustbot rustbot added this to the 1.79.0 milestone Mar 18, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Mar 18, 2024
Rollup merge of rust-lang#122687 - lcnr:normalizes-to-emit-nested-goals, r=compiler-errors

`NormalizesTo`: return nested goals to caller

Fixes the regression of `paperclip-core`. see https://hackmd.io/IsVAafiOTAaPIFcUxRJufw for more details.

r? ```@compiler-errors```
@lcnr lcnr deleted the normalizes-to-emit-nested-goals branch March 19, 2024 09:45
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. 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.

7 participants