about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser/diagnostics.rs
diff options
context:
space:
mode:
authorMatthias Krüger <476013+matthiaskrgr@users.noreply.github.com>2025-04-17 00:16:22 +0200
committerGitHub <noreply@github.com>2025-04-17 00:16:22 +0200
commitc594a88f4353766e2474163f7f8cf68840682a67 (patch)
tree157a56ff234c76fc28b69a47d39763d8731abc8f /compiler/rustc_parse/src/parser/diagnostics.rs
parentf14e6322702c60dae7d3e702608906b437986529 (diff)
parentbb3c98165cca752ba93927f19fa3f78c48caccc7 (diff)
downloadrust-c594a88f4353766e2474163f7f8cf68840682a67.tar.gz
rust-c594a88f4353766e2474163f7f8cf68840682a67.zip
Rollup merge of #139828 - compiler-errors:rigid-trait, r=lcnr
Don't require rigid alias's trait to hold

See test for write-up. TL;DR is that we don't need the trait bound to hold, since we enforce it during WF.

I think this is preferable to introducing (if we even could do so) a more specific hack around coroutine interiors, higher ranked types, etc, since this is just a manifestation of more pervasive issues w/ lifetime erasure in coroutines. This just doesn't manifest in the old solver b/c it doesn't try to prove `T: Trait` holds when rigidly projecting `<T as Trait>::Assoc`.

It's pretty clear that this affects quite a few traits (https://github.com/rust-lang/rust/pull/139763), so I think this needs fixing.

r? lcnr

Fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/177
Diffstat (limited to 'compiler/rustc_parse/src/parser/diagnostics.rs')
0 files changed, 0 insertions, 0 deletions