[][src]Struct syntax::sess::GatedSpans

pub struct GatedSpans {
    pub spans: Lock<HashMap<Symbol, Vec<Span>, BuildHasherDefault<FxHasher>>>,
}
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Collected spans during parsing for places where a certain feature was used and should be feature gated accordingly in check_crate.

Fields

spans: Lock<HashMap<Symbol, Vec<Span>, BuildHasherDefault<FxHasher>>>
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Methods

impl GatedSpans[src]

pub fn gate(&self, feature: Symbol, span: Span)[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Feature gate the given span under the given feature which is same Symbol used in active.rs.

pub fn ungate_last(&self, feature: Symbol, span: Span)[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Ungate the last span under the given feature. Panics if the given span wasn't the last one.

Using this is discouraged unless you have a really good reason to.

pub fn is_ungated(&self, feature: Symbol) -> bool[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Is the provided feature gate ungated currently?

Using this is discouraged unless you have a really good reason to.

pub fn merge(
    &self,
    spans: HashMap<Symbol, Vec<Span>, BuildHasherDefault<FxHasher>>
)
[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Prepend the given set of spans onto the set in self.

Trait Implementations

impl Default for GatedSpans[src]

Auto Trait Implementations

impl !Send for GatedSpans

impl !Sync for GatedSpans

impl Unpin for GatedSpans

impl UnwindSafe for GatedSpans

impl !RefUnwindSafe for GatedSpans

Blanket Implementations

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 = !

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.

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

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

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

impl<T> Erased for T[src]

impl<E> SpecializationError for E[src]