about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-04-05 20:09:57 +0000
committerbors <bors@rust-lang.org>2024-04-05 20:09:57 +0000
commit9d79cd5f79e75bd0d2083260271307ce9acd9081 (patch)
treec501476e40e9a5794d7b43c0b0a3661a2240e978 /compiler/rustc_codegen_llvm/src
parentea40fa210b87a322d2259852c149ffa212a3a0da (diff)
parent2f2d5cc38dd2edac0260db06ff052a4f2ea87f31 (diff)
downloadrust-9d79cd5f79e75bd0d2083260271307ce9acd9081.tar.gz
rust-9d79cd5f79e75bd0d2083260271307ce9acd9081.zip
Auto merge of #122747 - Urgau:non-local-defs_perfect_impl, r=lcnr
Implement T-types suggested logic for perfect non-local impl detection

This implement [T-types suggested logic](https://github.com/rust-lang/rust/issues/121621#issuecomment-1976826895) for perfect non-local impl detection:

> for each impl, instantiate all local types with inference vars and then assemble candidates for that goal, if there are more than 1 (non-private impls), it does not leak

This extension to the current logic is meant to address issues reported in https://github.com/rust-lang/rust/issues/121621.

This PR also re-enables the lint `non_local_definitions` to warn-by-default.

Implementation was discussed in this [zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/144729-t-types/topic/Implementing.20new.20non-local.20impl.20defs.20logic).

Fixes https://github.com/rust-lang/rust/issues/121621
Fixes https://github.com/rust-lang/rust/issues/121746

r? `@lcnr` *(feel free to re-roll)*
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions