Struct rustc_middle::ty::ResolverAstLowering
source · pub struct ResolverAstLowering {
pub legacy_const_generic_args: FxHashMap<DefId, Option<Vec<usize>>>,
pub partial_res_map: NodeMap<PartialRes>,
pub import_res_map: NodeMap<PerNS<Option<Res<NodeId>>>>,
pub label_res_map: NodeMap<NodeId>,
pub lifetimes_res_map: NodeMap<LifetimeRes>,
pub extra_lifetime_params_map: NodeMap<Vec<(Ident, NodeId, LifetimeRes)>>,
pub next_node_id: NodeId,
pub node_id_to_def_id: FxHashMap<NodeId, LocalDefId>,
pub def_id_to_node_id: IndexVec<LocalDefId, NodeId>,
pub trait_map: NodeMap<Vec<TraitCandidate>>,
pub builtin_macro_kinds: FxHashMap<LocalDefId, MacroKind>,
pub lifetime_elision_allowed: FxHashSet<NodeId>,
}
Expand description
Resolutions that should only be used for lowering. This struct is meant to be consumed by lowering.
Fields§
§legacy_const_generic_args: FxHashMap<DefId, Option<Vec<usize>>>
§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.
label_res_map: NodeMap<NodeId>
Resolutions for labels (node IDs of their corresponding blocks or loops).
lifetimes_res_map: NodeMap<LifetimeRes>
Resolutions for lifetimes.
extra_lifetime_params_map: NodeMap<Vec<(Ident, NodeId, LifetimeRes)>>
Lifetime parameters that lowering will have to introduce.
next_node_id: NodeId
§node_id_to_def_id: FxHashMap<NodeId, LocalDefId>
§def_id_to_node_id: IndexVec<LocalDefId, NodeId>
§trait_map: NodeMap<Vec<TraitCandidate>>
§builtin_macro_kinds: FxHashMap<LocalDefId, MacroKind>
A small map keeping true kinds of built-in macros that appear to be fn-like on
the surface (macro
items in libcore), but are actually attributes or derives.
lifetime_elision_allowed: FxHashSet<NodeId>
List functions and methods for which lifetime elision was successful.
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for ResolverAstLowering
impl !Send for ResolverAstLowering
impl !Sync for ResolverAstLowering
impl Unpin for ResolverAstLowering
impl UnwindSafe for ResolverAstLowering
Blanket Implementations§
source§impl<T, R> InternIteratorElement<T, R> for T
impl<T, R> InternIteratorElement<T, R> for T
type Output = R
fn intern_with<I, F>(iter: I, f: F) -> <T as InternIteratorElement<T, R>>::Outputwhere
I: Iterator<Item = T>,
F: FnOnce(&[T]) -> R,
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error(tcx: Tcx, _: &[QueryInfo]) -> T
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: 352 bytes