Struct flux_middle::ResolverOutput
source · pub struct ResolverOutput {
pub path_res_map: UnordMap<NodeId, PartialRes>,
pub impl_trait_res_map: UnordMap<NodeId, ItemId>,
pub param_res_map: UnordMap<NodeId, (ParamId, ParamKind)>,
pub implicit_params: UnordMap<NodeId, Vec<(Ident, NodeId)>>,
pub sort_path_res_map: UnordMap<NodeId, SortRes>,
pub expr_path_res_map: UnordMap<NodeId, ExprRes>,
}
Fields§
§path_res_map: UnordMap<NodeId, PartialRes>
§impl_trait_res_map: UnordMap<NodeId, ItemId>
§param_res_map: UnordMap<NodeId, (ParamId, ParamKind)>
Resolution of explicitly and implicitly scoped parameters. The fhir::ParamId
is unique
per item. The NodeId
used as the key corresponds to the node introducing the parameter.
When explicit, this is the id of the surface::GenericArg
or surface::RefineParam
,
when implicit, this is the id of the surface::RefineArg::Bind
or surface::FnInput
.
implicit_params: UnordMap<NodeId, Vec<(Ident, NodeId)>>
List of implicitly scoped params defined in a scope. The NodeId
used as key is the id of
the node introducing the scope, e.g., surface::FnSig
, surface::FnOutput
, or
surface::VariantDef
. The NodeId
s in the vectors are keys in Self::param_res_map
.
sort_path_res_map: UnordMap<NodeId, SortRes>
§expr_path_res_map: UnordMap<NodeId, ExprRes>
Trait Implementations§
source§impl Default for ResolverOutput
impl Default for ResolverOutput
source§fn default() -> ResolverOutput
fn default() -> ResolverOutput
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ResolverOutput
impl RefUnwindSafe for ResolverOutput
impl Send for ResolverOutput
impl Sync for ResolverOutput
impl Unpin for ResolverOutput
impl UnwindSafe for ResolverOutput
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> 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 more