about summary refs log tree commit diff
path: root/tests/mir-opt/lower_array_len.array_len.NormalizeArrayLen.panic-abort.diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-05-06 17:44:48 +0000
committerbors <bors@rust-lang.org>2023-05-06 17:44:48 +0000
commitbb66f6fc3c9fc7de653701ce692aec9ec9458f12 (patch)
tree07ad9c13b9fa2b1136c29cef153d428ddbf8086b /tests/mir-opt/lower_array_len.array_len.NormalizeArrayLen.panic-abort.diff
parent5ee39a6ee50e6ddfdf5ac5532bbd13e268b3bf36 (diff)
parent9360adccda17f3236a93514a44f8c57b0be4c890 (diff)
downloadrust-bb66f6fc3c9fc7de653701ce692aec9ec9458f12.tar.gz
rust-bb66f6fc3c9fc7de653701ce692aec9ec9458f12.zip
Auto merge of #14750 - lowr:fix/rustc_reservation_impl, r=HKalbasi
fix: ignore impls with `#[rustc_reservation_impl]`

Fixes #12247
Fixes #14279

Currently core has two blanket impls for `From`: `impl<T> From<T> for T` and `impl<T> From<!> for T`. These are conflicting and thus chalk cannot uniquely solve `S: From<?0>` for any type `S`.

The latter impl is actually a reservation impl and should not be considered during trait selection. More generally, impls attributed with perma-unstable `#[rustc_reservation_impl]` attribute should be disregarded except for coherence checks. See rust-lang/rust#64631 and rust-lang/rust#64715 for details.

I chose to entirely ignore them in hir-ty because we don't do coherence checks.
Diffstat (limited to 'tests/mir-opt/lower_array_len.array_len.NormalizeArrayLen.panic-abort.diff')
0 files changed, 0 insertions, 0 deletions