Struct rustc_middle::dep_graph::DepNode
source · pub struct DepNode {
pub kind: DepKind,
pub hash: PackedFingerprint,
}
Fields§
§kind: DepKind
§hash: PackedFingerprint
Trait Implementations§
source§impl DepNodeExt for DepNode
impl DepNodeExt for DepNode
source§fn extract_def_id(&self, tcx: TyCtxt<'_>) -> Option<DefId>
fn extract_def_id(&self, tcx: TyCtxt<'_>) -> Option<DefId>
Extracts the DefId corresponding to this DepNode. This will work if two conditions are met:
- The Fingerprint of the DepNode actually is a DefPathHash, and
- the item that the DefPath refers to exists in the current tcx.
Condition (1) is determined by the DepKind variant of the DepNode. Condition (2) might not be fulfilled if a DepNode refers to something from the previous compilation session that has been removed.
source§fn from_label_string(
tcx: TyCtxt<'_>,
label: &str,
def_path_hash: DefPathHash
) -> Result<DepNode, ()>
fn from_label_string( tcx: TyCtxt<'_>, label: &str, def_path_hash: DefPathHash ) -> Result<DepNode, ()>
Used in testing
source§fn has_label_string(label: &str) -> bool
fn has_label_string(label: &str) -> bool
Used in testing
Auto Trait Implementations§
impl RefUnwindSafe for DepNode
impl Send for DepNode
impl Sync for DepNode
impl Unpin for DepNode
impl UnwindSafe for DepNode
Blanket Implementations§
source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere T: Copy,
fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut T
fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = T> ) -> &'a mut [T]
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, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle: &[QueryInfo], _guar: ErrorGuaranteed ) -> T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes