Auto merge of #103578 - petrochenkov:nofict, r=nagisa
Unreserve braced enum variants in value namespace With this PR braced enum variants (`enum E { V { /*...*/ } }`) no longer take a slot in value namespace, so the special case mentioned in the note in https://github.com/rust-lang/rfcs/blob/master/text/1506-adt-kinds.md#braced-structs is removed. Report - https://github.com/rust-lang/rust/pull/103578#issuecomment-1292594900.
This commit is contained in:
commit
b7463e8bdb
71 changed files with 364 additions and 642 deletions
|
@ -564,7 +564,7 @@ fn check_for_bindings_named_same_as_variants(
|
|||
&& let ty::Adt(edef, _) = pat_ty.kind()
|
||||
&& edef.is_enum()
|
||||
&& edef.variants().iter().any(|variant| {
|
||||
variant.ident(cx.tcx) == ident && variant.ctor_kind == CtorKind::Const
|
||||
variant.ident(cx.tcx) == ident && variant.ctor_kind() == Some(CtorKind::Const)
|
||||
})
|
||||
{
|
||||
let variant_count = edef.variants().len();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue