about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/errors.rs
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-03-17 08:42:40 +0100
committerGitHub <noreply@github.com>2023-03-17 08:42:40 +0100
commit246d989a30ad55e333a1870da96fab5066c5b8e9 (patch)
treee4381edef150657305d90f8a5c00d74da4467d8b /compiler/rustc_codegen_llvm/src/errors.rs
parentedd6b4256557ec2cd9aac0c4de46848cc26931e5 (diff)
parent8d922eba796a236dbfdd032d5e4c279519e02b60 (diff)
downloadrust-246d989a30ad55e333a1870da96fab5066c5b8e9.tar.gz
rust-246d989a30ad55e333a1870da96fab5066c5b8e9.zip
Rollup merge of #109198 - compiler-errors:new-rpitit-default-body, r=spastorino
Install projection from RPITIT to default trait method opaque correctly

1. For new lowering strategy `-Zlower-impl-trait-in-trait-to-assoc-ty`, install the correct default trait method projection predicates (RPITIT -> opaque). This makes default trait body tests pass!

2. Fix two WF-checking bugs -- first, we want to make sure that we're always looking for an opaque type in `check_return_position_impl_trait_in_trait_bounds`. That's because the RPITIT projections are normalized to opaques during wfcheck. Second, fix RPITIT's param-envs by not adding the projection predicates that we install on trait methods to make default RPITITs work -- I left a comment why.

3. Also, just a small drive-by for `rustc_on_unimplemented`. Not sure if it affects any tests, but can't hurt.

r? ````@spastorino,```` based off of #109140
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/errors.rs')
0 files changed, 0 insertions, 0 deletions