Struct rustdoc::visit_ast::Module

source ·
pub(crate) struct Module<'hir> {
    pub(crate) name: Symbol,
    pub(crate) where_inner: Span,
    pub(crate) mods: Vec<Module<'hir>>,
    pub(crate) def_id: LocalDefId,
    pub(crate) renamed: Option<Symbol>,
    pub(crate) import_id: Option<LocalDefId>,
    pub(crate) items: FxIndexMap<(LocalDefId, Option<Symbol>), (&'hir Item<'hir>, Option<Symbol>, Option<LocalDefId>)>,
    pub(crate) inlined_foreigns: FxIndexMap<(DefId, Option<Symbol>), (Res, LocalDefId)>,
    pub(crate) foreigns: Vec<(&'hir ForeignItem<'hir>, Option<Symbol>)>,
}
Expand description

This module is used to store stuff from Rust’s AST in a more convenient manner (and with prettier names) before cleaning.

Fields§

§name: Symbol§where_inner: Span§mods: Vec<Module<'hir>>§def_id: LocalDefId§renamed: Option<Symbol>§import_id: Option<LocalDefId>§items: FxIndexMap<(LocalDefId, Option<Symbol>), (&'hir Item<'hir>, Option<Symbol>, Option<LocalDefId>)>

The key is the item ItemId and the value is: (item, renamed, import_id). We use FxIndexMap to keep the insert order.

§inlined_foreigns: FxIndexMap<(DefId, Option<Symbol>), (Res, LocalDefId)>

Same as for items.

§foreigns: Vec<(&'hir ForeignItem<'hir>, Option<Symbol>)>

Implementations§

source§

impl Module<'_>

source

pub(crate) fn new( name: Symbol, def_id: LocalDefId, where_inner: Span, renamed: Option<Symbol>, import_id: Option<LocalDefId> ) -> Self

source

pub(crate) fn where_outer(&self, tcx: TyCtxt<'_>) -> Span

Trait Implementations§

source§

impl<'hir> Debug for Module<'hir>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'hir> !RefUnwindSafe for Module<'hir>

§

impl<'hir> !Send for Module<'hir>

§

impl<'hir> !Sync for Module<'hir>

§

impl<'hir> Unpin for Module<'hir>

§

impl<'hir> !UnwindSafe for Module<'hir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere 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 Twhere 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 Twhere 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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

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: 184 bytes