about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/errors.rs
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-03-25 11:00:14 +0100
committerGitHub <noreply@github.com>2024-03-25 11:00:14 +0100
commitfe0222be0739b88f6210f24a1f603a4bfe628077 (patch)
treed56001c654323cae0a823d20d4cb48fded0fbb09 /compiler/rustc_parse/src/errors.rs
parent84ec66e15bf630246cf3f81c2d86a09fa9fad604 (diff)
parent40f41e7e896e7d68534d05e955c20330b13f6d0b (diff)
downloadrust-fe0222be0739b88f6210f24a1f603a4bfe628077.tar.gz
rust-fe0222be0739b88f6210f24a1f603a4bfe628077.zip
Rollup merge of #123005 - maurer:cfi-arbitrary-receivers, r=compiler-errors
CFI: Support complex receivers

Right now, we only support rewriting `&self` and `&mut self` into `&dyn MyTrait` and `&mut dyn MyTrait`. This expands it to handle the full gamut of receivers by calculating the receiver based on *substitution* rather than based on a rewrite. This means that, for example, `Arc<Self>` will become `Arc<dyn MyTrait>` appropriately with this change.

This approach also allows us to support associated type constraints as well, so we will correctly rewrite `&self` into `&dyn MyTrait<T=i32>`, for example.

r? ```@workingjubilee```
Diffstat (limited to 'compiler/rustc_parse/src/errors.rs')
0 files changed, 0 insertions, 0 deletions