about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/query/mod.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-05-25 01:17:55 +0000
committerbors <bors@rust-lang.org>2024-05-25 01:17:55 +0000
commit21e6de7eb64c09102de3f100420a09edc1a2a8d7 (patch)
tree17960ea3626b2f0e8478be9b75a42541076f96aa /compiler/rustc_middle/src/query/mod.rs
parent36153f1a4e3162f0a143c7b3e468ecb3beb0008e (diff)
parenta25bb5f4acee081295ab83a31e57b98d8d559df0 (diff)
downloadrust-21e6de7eb64c09102de3f100420a09edc1a2a8d7.tar.gz
rust-21e6de7eb64c09102de3f100420a09edc1a2a8d7.zip
Auto merge of #124187 - compiler-errors:self-ctor, r=petrochenkov
Warn (or error) when `Self` ctor from outer item is referenced in inner nested item

This implements a warning `SELF_CONSTRUCTOR_FROM_OUTER_ITEM` when a self constructor from an outer impl is referenced in an inner nested item. This is a proper fix mentioned https://github.com/rust-lang/rust/pull/117246#discussion_r1374648388.

This warning is additionally bumped to a hard error when the self type references generic parameters, since it's almost always going to ICE, and is basically *never* correct to do.

This also reverts part of https://github.com/rust-lang/rust/pull/117246, since I believe this is the proper fix and we shouldn't need the helper functions (`opt_param_at`/`opt_type_param`) any longer, since they shouldn't really ever be used in cases where we don't have this problem.
Diffstat (limited to 'compiler/rustc_middle/src/query/mod.rs')
0 files changed, 0 insertions, 0 deletions