pub struct ResolverAstLowering<'tcx> {
pub partial_res_map: NodeMap<PartialRes>,
pub import_res_map: NodeMap<PerNS<Option<Res<NodeId>>>>,
pub extra_lifetime_params_map: NodeMap<Vec<(Ident, NodeId, MissingLifetimeKind)>>,
pub next_node_id: NodeId,
pub owners: NodeMap<PerOwnerResolverData>,
pub trait_map: NodeMap<&'tcx [TraitCandidate<'tcx>]>,
pub lint_buffer: Steal<LintBuffer>,
pub delegation_infos: LocalDefIdMap<DelegationInfo>,
pub disambiguators: LocalDefIdMap<Steal<PerParentDisambiguatorState>>,
}Expand description
Resolutions that should only be used for lowering. This struct is meant to be consumed by lowering.
Fields§
§partial_res_map: NodeMap<PartialRes>Resolutions for nodes that have a single resolution.
import_res_map: NodeMap<PerNS<Option<Res<NodeId>>>>Resolutions for import nodes, which have multiple resolutions in different namespaces.
extra_lifetime_params_map: NodeMap<Vec<(Ident, NodeId, MissingLifetimeKind)>>Lifetime parameters that lowering will have to introduce.
next_node_id: NodeId§owners: NodeMap<PerOwnerResolverData>§trait_map: NodeMap<&'tcx [TraitCandidate<'tcx>]>§lint_buffer: Steal<LintBuffer>Lints that were emitted by the resolver and early lints.
delegation_infos: LocalDefIdMap<DelegationInfo>§disambiguators: LocalDefIdMap<Steal<PerParentDisambiguatorState>>Trait Implementations§
Auto Trait Implementations§
impl<'tcx> DynSend for ResolverAstLowering<'tcx>
impl<'tcx> DynSync for ResolverAstLowering<'tcx>
impl<'tcx> !Freeze for ResolverAstLowering<'tcx>
impl<'tcx> !RefUnwindSafe for ResolverAstLowering<'tcx>
impl<'tcx> !Send for ResolverAstLowering<'tcx>
impl<'tcx> !Sync for ResolverAstLowering<'tcx>
impl<'tcx> Unpin for ResolverAstLowering<'tcx>
impl<'tcx> UnsafeUnpin for ResolverAstLowering<'tcx>
impl<'tcx> !UnwindSafe for ResolverAstLowering<'tcx>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<K> IntoQueryKey<K> for K
impl<K> IntoQueryKey<K> for K
Source§fn into_query_key(self) -> K
fn into_query_key(self) -> K
Argument conversion from
Self to K.
This should always be a very cheap conversion, e.g. LocalDefId::to_def_id.Source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
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: 296 bytes