Enum rustc_hir::def::Res [−][src]
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]
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>,
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>,