struct NameResolution {
non_glob: Option<Binding>,
glob: Option<GlobBinding>,
}Expand description
All candidates for a single name in a single namespace, split into the two slots
(non_glob_decl/glob_decl). The non-glob slot always wins.
Fields§
§non_glob: Option<Binding>§glob: Option<GlobBinding>Implementations§
Source§impl NameResolution
impl NameResolution
fn from_explicit(binding: Binding) -> Self
fn is_empty(&self) -> bool
Sourcefn define(&mut self, source: BindingSource, res: Res<NodeId>) -> Option<Binding>
fn define(&mut self, source: BindingSource, res: Res<NodeId>) -> Option<Binding>
Define the binding. Return previously defined binding if there’s a clash
Trait Implementations§
Source§impl Clone for NameResolution
impl Clone for NameResolution
impl Copy for NameResolution
Source§impl Debug for NameResolution
impl Debug for NameResolution
Source§impl Default for NameResolution
impl Default for NameResolution
Source§impl FromIterator<Binding> for NameResolution
impl FromIterator<Binding> for NameResolution
Source§fn from_iter<T: IntoIterator<Item = Binding>>(iter: T) -> Self
fn from_iter<T: IntoIterator<Item = Binding>>(iter: T) -> Self
Fold a stream of glob candidates. Used to merge a module’s children, where two entries for the same name can only come from an ambiguous glob re-export.
Auto Trait Implementations§
impl DynSend for NameResolution
impl DynSync for NameResolution
impl Freeze for NameResolution
impl RefUnwindSafe for NameResolution
impl Send for NameResolution
impl Sync for NameResolution
impl Unpin for NameResolution
impl UnsafeUnpin for NameResolution
impl UnwindSafe for NameResolution
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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 more