pub struct ResolverOutput {
pub path_res_map: UnordMap<NodeId, PartialRes>,
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, PartialRes<ParamId>>,
pub qualifier_res_map: UnordMap<NodeId, Vec<FluxLocalDefId>>,
pub reveal_res_map: UnordMap<NodeId, Vec<FluxDefId>>,
}Fields§
§path_res_map: UnordMap<NodeId, PartialRes>§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, PartialRes<ParamId>>§qualifier_res_map: UnordMap<NodeId, Vec<FluxLocalDefId>>The resolved list of local qualifiers per function.
The [NodeId] corresponds to the [surface::FnSpec].
reveal_res_map: UnordMap<NodeId, Vec<FluxDefId>>The resolved list of local reveals per function
The [NodeId] corresponds to the [surface::FnSpec].
Trait Implementations§
Source§impl Default for ResolverOutput
impl Default for ResolverOutput
Source§fn default() -> ResolverOutput
fn default() -> ResolverOutput
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more