Skip to content

treat inductive cycles as ambig - #163159

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
lcnr:inductive-cycles-ambig
Sep 23, 2026
Merged

rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
lcnr:inductive-cycles-ambig

Conversation

@lcnr

@lcnr lcnr commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

We needed inductive cycles to be NoSolution for proper ParamEnv normalization. With #158643 this is no longer necessary, so lets make the stabilization of the new solver as small as possible.

r? types

@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 Sep 22, 2026

@oli-obk oli-obk 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.

Unfortunate that the tests didn't have revisions before (for a sec I confused myself and wondered why the old solver diagnostics also changed)

@bors r+ rollup

View changes since this review

@rust-bors

rust-bors Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 622fd6a has been approved by oli-obk

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 Sep 22, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Sep 22, 2026
…-obk

treat inductive cycles as ambig

We needed inductive cycles to be `NoSolution` for proper `ParamEnv` normalization. With rust-lang#158643 this is no longer necessary, so lets make the stabilization of the new solver as small as possible.

r? types
rust-bors Bot pushed a commit that referenced this pull request Sep 22, 2026
…uwer

Rollup of 13 pull requests

Successful merges:

 - #156949 (Detect missing else in let statement)
 - #160436 (stabilize `Box::take`)
 - #160570 (macro_metavar_expr_concat: support concatenating into string literals)
 - #162837 (Dedicated Display type for CStr::display)
 - #163099 (Use wrapping arithmetic in `from_str_radix`)
 - #163166 (Tiny cleanups to deferred liveness)
 - #161667 (Add `f16` inline ASM support for `nvptx64-nvidia-cuda`)
 - #163063 (Restore `Send` and `Sync` for `BorrowedCursor`)
 - #163097 (OpenBSD/sparc64 has switched from GCC to Clang)
 - #163126 (Skip redundant storage-conflict updates during coroutine layout)
 - #163135 (librustdoc: remove stale dep on base64)
 - #163146 (tests: Update `f16b` codegen test for LoongArch and RISC-V)
 - #163159 (treat inductive cycles as ambig)
@rust-bors
rust-bors Bot merged commit f3aca55 into rust-lang:main Sep 23, 2026
13 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Sep 23, 2026
rust-bors Bot pushed a commit that referenced this pull request Sep 23, 2026
Rollup merge of #163159 - lcnr:inductive-cycles-ambig, r=oli-obk

treat inductive cycles as ambig

We needed inductive cycles to be `NoSolution` for proper `ParamEnv` normalization. With #158643 this is no longer necessary, so lets make the stabilization of the new solver as small as possible.

r? types
@theemathas

theemathas commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Does this affect coherence-checking or impossible bounds (i.e., stable rust) in any way?

@lcnr

lcnr commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

impossible predicates in theory, but having more ambiguity here shouldn't cause issues. coherence checking is not affected, see the change to fn initial_provisional_result

@lcnr
lcnr deleted the inductive-cycles-ambig branch September 23, 2026 21:13
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.

4 participants