about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-10-27 12:37:50 +0000
committerbors <bors@rust-lang.org>2022-10-27 12:37:50 +0000
commitc6e1e17a10f9a0c55dad34419403d1327680f240 (patch)
treee7637b892614d790836782cb91e72e0d9827de97 /compiler/rustc_codegen_llvm/src
parent0340b51ff710daf8e8b8895e8fc1a12c95e8886f (diff)
parent5fc18ad6fa635adac058160bc7ba13e53abd5ece (diff)
downloadrust-c6e1e17a10f9a0c55dad34419403d1327680f240.tar.gz
rust-c6e1e17a10f9a0c55dad34419403d1327680f240.zip
Auto merge of #13494 - lowr:feat/gats, r=flodiebold
feat: type inference for generic associated types

This PR implements type inference for generic associated types. Basically, this PR lowers generic arguments for associated types in valid places and creates `Substitution`s for them.

I focused on the inference for correct Rust programs, so there are cases where we *accidentally* manage to infer things that are actually invalid (which would then be reported by flycheck so I deem them non-fatal). See the following tests and FIXME notes on them: `gats_with_dyn`, `gats_with_impl_trait`.

The added tests are rather arbitrary. Let me know if there are cases I'm missing or I should add.

Closes #9673
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions