pub struct DefIdContents {
pub krate: String,
pub path: Vec<DisambiguatedDefPathItem>,
pub parent: Option<DefId>,
pub index: (u32, u32, Option<PromotedId>),
pub is_local: bool,
pub kind: DefKind,
}Fields§
§krate: String§path: Vec<DisambiguatedDefPathItem>§parent: Option<DefId>§index: (u32, u32, Option<PromotedId>)Stores rustc’s CrateNum, DefIndex and Promoted raw indices. This can be useful if one
needs to convert a DefId into a rustc_hir::def_id::DefId. If the promoted id is
Some, then this DefId indicates the nth promoted constant associated with the item,
which doesn’t have a real rustc::DefId.
Warning: this index field might not be safe to use. They are valid only for one Rustc
sesssion. Please do not rely on those indices unless you cannot do otherwise.
is_local: bool§kind: DefKindThe kind of definition this DefId points to.
Implementations§
Source§impl DefIdContents
impl DefIdContents
pub fn make_def_id<'tcx, S: BaseState<'tcx>>(self, s: &S) -> DefId
Trait Implementations§
Source§impl Clone for DefIdContents
impl Clone for DefIdContents
Source§fn clone(&self) -> DefIdContents
fn clone(&self) -> DefIdContents
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DefIdContents
impl Debug for DefIdContents
Source§impl<'de> Deserialize<'de> for DefIdContents
impl<'de> Deserialize<'de> for DefIdContents
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for DefIdContents
impl Hash for DefIdContents
Source§impl JsonSchema for DefIdContents
impl JsonSchema for DefIdContents
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreSource§impl Ord for DefIdContents
impl Ord for DefIdContents
Source§fn cmp(&self, other: &DefIdContents) -> Ordering
fn cmp(&self, other: &DefIdContents) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for DefIdContents
impl PartialEq for DefIdContents
Source§impl PartialOrd for DefIdContents
impl PartialOrd for DefIdContents
Source§impl Serialize for DefIdContents
impl Serialize for DefIdContents
impl Eq for DefIdContents
impl StructuralPartialEq for DefIdContents
Auto Trait Implementations§
impl Freeze for DefIdContents
impl RefUnwindSafe for DefIdContents
impl Send for DefIdContents
impl Sync for DefIdContents
impl Unpin for DefIdContents
impl UnwindSafe for DefIdContents
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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