Struct rustc_incremental::persist::dirty_clean::DirtyCleanVisitor[−][src]

pub struct DirtyCleanVisitor<'tcx> {
    tcx: TyCtxt<'tcx>,
    checked_attrs: FxHashSet<AttrId>,
}

Fields

tcx: TyCtxt<'tcx>checked_attrs: FxHashSet<AttrId>

Implementations

impl<'tcx> DirtyCleanVisitor<'tcx>[src]

fn assertion_maybe(
    &mut self,
    item_id: LocalDefId,
    attr: &Attribute
) -> Option<Assertion>
[src]

Possibly “deserialize” the attribute into a clean/dirty assertion

fn assertion_auto(
    &mut self,
    item_id: LocalDefId,
    attr: &Attribute,
    is_clean: bool
) -> Assertion
[src]

Gets the “auto” assertion on pre-validated attr, along with the except labels.

fn labels(&self, attr: &Attribute) -> Option<FxHashSet<String>>[src]

fn except(&self, attr: &Attribute) -> FxHashSet<String>[src]

except= attribute value

fn auto_labels(
    &mut self,
    item_id: LocalDefId,
    attr: &Attribute
) -> (&'static str, FxHashSet<String>)
[src]

Return all DepNode labels that should be asserted for this item. index=0 is the “name” used for error messages

fn resolve_labels(
    &self,
    item: &NestedMetaItem,
    value: Symbol
) -> FxHashSet<String>
[src]

fn dep_nodes<'l>(
    &self,
    labels: &'l FxHashSet<String>,
    def_id: DefId
) -> impl Iterator<Item = DepNode> + 'l
[src]

fn dep_node_str(&self, dep_node: &DepNode) -> String[src]

fn assert_dirty(&self, item_span: Span, dep_node: DepNode)[src]

fn get_fingerprint(&self, dep_node: &DepNode) -> Option<Fingerprint>[src]

fn assert_clean(&self, item_span: Span, dep_node: DepNode)[src]

fn check_item(&mut self, item_id: LocalDefId, item_span: Span)[src]

Trait Implementations

impl<'tcx> ItemLikeVisitor<'tcx> for DirtyCleanVisitor<'tcx>[src]

Auto Trait Implementations

impl<'tcx> !RefUnwindSafe for DirtyCleanVisitor<'tcx>

impl<'tcx> !Send for DirtyCleanVisitor<'tcx>

impl<'tcx> !Sync for DirtyCleanVisitor<'tcx>

impl<'tcx> Unpin for DirtyCleanVisitor<'tcx>

impl<'tcx> !UnwindSafe for DirtyCleanVisitor<'tcx>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.