struct FieldUniquenessCheckContext<'tcx> {
    tcx: TyCtxt<'tcx>,
    seen_fields: FxHashMap<Ident, FieldDeclSpan>,
}

Fields§

§tcx: TyCtxt<'tcx>§seen_fields: FxHashMap<Ident, FieldDeclSpan>

Implementations§

source§

impl<'tcx> FieldUniquenessCheckContext<'tcx>

source

fn new(tcx: TyCtxt<'tcx>) -> Self

source

fn check_field_decl(&mut self, ident: Ident, field_decl: FieldDeclSpan)

Check if a given field ident declared at field_decl has been declared elsewhere before.

source

fn check_field_in_nested_adt( &mut self, adt_def: AdtDef<'_>, unnamed_field_span: Span )

Check the uniqueness of fields across adt where there are nested fields imported from an unnamed field.

source

fn check_field(&mut self, field: &FieldDef<'_>)

Check the uniqueness of fields in a struct variant, and recursively check the nested fields if it is an unnamed field with type of an annoymous adt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 40 bytes