about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-07-25 16:48:21 +0200
committerGitHub <noreply@github.com>2024-07-25 16:48:21 +0200
commit5a853d02f1b2f07d6600a5d193712e7d86274f35 (patch)
tree127e279a399173548498f7a91e85db1fc1b05f14 /compiler/rustc_codegen_llvm/src
parent606c9fcb4d0306341a8427ca2d0c93faea2f8f73 (diff)
parent40d132f0f826b0f0ae203219ab30d23da8f55573 (diff)
downloadrust-5a853d02f1b2f07d6600a5d193712e7d86274f35.tar.gz
rust-5a853d02f1b2f07d6600a5d193712e7d86274f35.zip
Rollup merge of #128171 - compiler-errors:arg-compat, r=oli-obk
Make sure that args are compatible in `resolve_associated_item`

Implements a similar check to the one that we have in projection for GATs (#102488, #123240), where we check that the args of an impl item are compatible before returning it. This is done in `resolve_assoc_item`, which is backing `Instance::resolve`, so this is conceptually generalizing the check from GATs to methods/assoc consts. This is important to make sure that the inliner will only visit and substitute MIR bodies that are compatible w/ their trait definitions.

This shouldn't happen in codegen, but there are a few ways to get the inliner to be invoked (via calls to `optimized_mir`) before codegen, namely polymorphization and CTFE.

Fixes #121957
Fixes #120792
Fixes #120793
Fixes #121063
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions