pub struct PerOwnerResolverData<'tcx> {
pub node_id_to_def_id: NodeMap<LocalDefId>,
pub lifetime_elision_allowed: bool,
pub label_res_map: NodeMap<NodeId>,
pub lifetimes_res_map: NodeMap<LifetimeRes>,
pub trait_map: NodeMap<&'tcx [TraitCandidate<'tcx>]>,
pub import_res: PerNS<Option<Res<NodeId>>>,
pub extra_lifetime_params_map: NodeMap<Vec<(Ident, NodeId, MissingLifetimeKind)>>,
pub id: NodeId,
pub def_id: LocalDefId,
}Fields§
§node_id_to_def_id: NodeMap<LocalDefId>§lifetime_elision_allowed: boolWhether lifetime elision was successful.
label_res_map: NodeMap<NodeId>Resolutions for labels. Maps from NodeId of the break/continue expression to the NodeId of their corresponding blocks or loops.
lifetimes_res_map: NodeMap<LifetimeRes>Resolutions for lifetimes.
trait_map: NodeMap<&'tcx [TraitCandidate<'tcx>]>§import_res: PerNS<Option<Res<NodeId>>>Resolution 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.
id: NodeIdThe id of the owner
def_id: LocalDefIdThe DefId of the owner, can’t be found in node_id_to_def_id.
Implementations§
Source§impl<'tcx> PerOwnerResolverData<'tcx>
impl<'tcx> PerOwnerResolverData<'tcx>
pub fn new(id: NodeId, def_id: LocalDefId) -> PerOwnerResolverData<'tcx>
Sourcepub fn get_label_res(&self, id: NodeId) -> Option<NodeId>
pub fn get_label_res(&self, id: NodeId) -> Option<NodeId>
Obtains resolution for a label with the given NodeId.
Sourcepub fn get_lifetime_res(&self, id: NodeId) -> Option<LifetimeRes>
pub fn get_lifetime_res(&self, id: NodeId) -> Option<LifetimeRes>
Obtains resolution for a lifetime with the given NodeId.
Sourcepub fn extra_lifetime_params(
&self,
id: NodeId,
) -> &[(Ident, NodeId, MissingLifetimeKind)]
pub fn extra_lifetime_params( &self, id: NodeId, ) -> &[(Ident, NodeId, MissingLifetimeKind)]
Obtain the list of lifetimes parameters to add to an item.
Extra lifetime parameters should only be added in places that can appear
as a binder in LifetimeRes.
The extra lifetimes that appear from the parenthesized Fn-trait desugaring
should appear at the enclosing PolyTraitRef.
Trait Implementations§
Auto Trait Implementations§
impl<'tcx> DynSend for PerOwnerResolverData<'tcx>
impl<'tcx> DynSync for PerOwnerResolverData<'tcx>
impl<'tcx> Freeze for PerOwnerResolverData<'tcx>
impl<'tcx> RefUnwindSafe for PerOwnerResolverData<'tcx>
impl<'tcx> Send for PerOwnerResolverData<'tcx>
impl<'tcx> Sync for PerOwnerResolverData<'tcx>
impl<'tcx> Unpin for PerOwnerResolverData<'tcx>
impl<'tcx> UnsafeUnpin for PerOwnerResolverData<'tcx>
impl<'tcx> UnwindSafe for PerOwnerResolverData<'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
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
impl<T> ErasedDestructor for Twhere
T: 'static,
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>
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>
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
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>
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: 208 bytes