[−][src]Struct rustc_span::hygiene::HygieneEncodeContext

pub struct HygieneEncodeContext {
    serialized_ctxts: Lock<FxHashSet<SyntaxContext>>,
    latest_ctxts: Lock<FxHashSet<SyntaxContext>>,
    serialized_expns: Lock<FxHashSet<ExpnId>>,
    latest_expns: Lock<FxHashSet<ExpnId>>,
}

Fields

serialized_ctxts: Lock<FxHashSet<SyntaxContext>>

All SyntaxContexts for which we have written SyntaxContextData into crate metadata. This is None after we finish encoding SyntaxContexts, to ensure that we don't accidentally try to encode any more SyntaxContexts

latest_ctxts: Lock<FxHashSet<SyntaxContext>>

The SyntaxContexts that we have serialized (e.g. as a result of encoding Spans) in the most recent 'round' of serializnig. Serializing SyntaxContextData may cause us to serialize more SyntaxContexts, so serialize in a loop until we reach a fixed point.

serialized_expns: Lock<FxHashSet<ExpnId>>latest_expns: Lock<FxHashSet<ExpnId>>

Implementations

impl HygieneEncodeContext[src]

pub fn encode<T, R, F: FnMut(&mut T, u32, &SyntaxContextData) -> Result<(), R>, G: FnMut(&mut T, u32, &ExpnData) -> Result<(), R>>(
    &self,
    encoder: &mut T,
    mut encode_ctxt: F,
    mut encode_expn: G
) -> Result<(), R>
[src]

Trait Implementations

impl Default for HygieneEncodeContext[src]

Auto Trait Implementations

impl !RefUnwindSafe for HygieneEncodeContext[src]

impl Send for HygieneEncodeContext[src]

impl !Sync for HygieneEncodeContext[src]

impl Unpin for HygieneEncodeContext[src]

impl UnwindSafe for HygieneEncodeContext[src]

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.