[−][src]Enum rustc_hir::def::Res
The resolution of a path or export.
Variants
PrimTy(PrimTy)Self, with both an optional trait and impl DefId.
HACK(min_const_generics): impl self types also have an optional requirement to not mention
any generic parameters to allow the following with min_const_generics:
impl Foo { fn test() -> [u8; std::mem::size_of::<Self>()] {} }
We do however allow Self in repeat expression even if it is generic to not break code
which already works on stable while causing the const_evaluatable_unchecked future compat lint.
FIXME(lazy_normalization_consts): Remove this bodge once that feature is stable.
SelfCtor(DefId)NonMacroAttr(NonMacroAttrKind)Implementations
impl<Id> Res<Id>[src]
pub fn def_id(&self) -> DefId where
Id: Debug, [src]
Id: Debug,
Return the DefId of this Def if it has an ID, else panic.
pub fn opt_def_id(&self) -> Option<DefId>[src]
Return Some(..) with the DefId of this Res if it has a ID, else None.
pub fn mod_def_id(&self) -> Option<DefId>[src]
Return the DefId of this Res if it represents a module.
pub fn descr(&self) -> &'static str[src]
A human readable name for the res kind ("function", "module", etc.).
pub fn article(&self) -> &'static str[src]
Gets an English article for the Res.
pub fn map_id<R>(self, map: impl FnMut(Id) -> R) -> Res<R>[src]
pub fn macro_kind(self) -> Option<MacroKind>[src]
pub fn ns(&self) -> Option<Namespace>[src]
Returns None if this is Res::Err
pub fn matches_ns(&self, ns: Namespace) -> bool[src]
Always returns true if self is Res::Err
pub fn expected_in_tuple_struct_pat(&self) -> bool[src]
Returns whether such a resolved path can occur in a tuple struct/variant pattern
Trait Implementations
impl<Id: Clone> Clone for Res<Id>[src]
impl<Id: Copy> Copy for Res<Id>[src]
impl<Id: Debug> Debug for Res<Id>[src]
impl<Id, __D: Decoder> Decodable<__D> for Res<Id> where
Id: Decodable<__D>, [src]
Id: Decodable<__D>,
impl<Id, __E: Encoder> Encodable<__E> for Res<Id> where
Id: Encodable<__E>, [src]
Id: Encodable<__E>,
impl<Id: Eq> Eq for Res<Id>[src]
impl<Id: Hash> Hash for Res<Id>[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<Id, __CTX> HashStable<__CTX> for Res<Id> where
__CTX: HashStableContext,
Id: HashStable<__CTX>, [src]
__CTX: HashStableContext,
Id: HashStable<__CTX>,
pub fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)[src]
impl<Id: PartialEq> PartialEq<Res<Id>> for Res<Id>[src]
impl<Id> StructuralEq for Res<Id>[src]
impl<Id> StructuralPartialEq for Res<Id>[src]
Auto Trait Implementations
impl<Id> RefUnwindSafe for Res<Id> where
Id: RefUnwindSafe,
Id: RefUnwindSafe,
impl<Id> Send for Res<Id> where
Id: Send,
Id: Send,
impl<Id> Sync for Res<Id> where
Id: Sync,
Id: Sync,
impl<Id> Unpin for Res<Id> where
Id: Unpin,
Id: Unpin,
impl<Id> UnwindSafe for Res<Id> where
Id: UnwindSafe,
Id: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,