Enum rustdoc::clean::cfg::Cfg[−][src]

pub(crate) enum Cfg {
    True,
    False,
    Cfg(Symbol, Option<Symbol>),
    Not(Box<Cfg>),
    Any(Vec<Cfg>),
    All(Vec<Cfg>),
}

Variants

True
Expand description

Accepts all configurations.

False
Expand description

Denies all configurations.

Cfg(Symbol, Option<Symbol>)
Expand description

A generic configuration option, e.g., test or target_os = "linux".

Not(Box<Cfg>)
Expand description

Negates a configuration requirement, i.e., not(x).

Any(Vec<Cfg>)
Expand description

Union of a list of configuration requirements, i.e., any(...).

All(Vec<Cfg>)
Expand description

Intersection of a list of configuration requirements, i.e., all(...).

Implementations

impl Cfg[src]

fn parse_nested(nested_cfg: &NestedMetaItem) -> Result<Cfg, InvalidCfgError>[src]

Parses a NestedMetaItem into a Cfg.

pub(crate) fn parse(cfg: &MetaItem) -> Result<Cfg, InvalidCfgError>[src]

Parses a MetaItem into a Cfg.

The MetaItem should be the content of the #[cfg(...)], e.g., unix or target_os = "redox".

If the content is not properly formatted, it will return an error indicating what and where the error is.

pub(crate) fn matches(
    &self,
    parse_sess: &ParseSess,
    features: Option<&Features>
) -> bool
[src]

Checks whether the given configuration can be matched in the current session.

Equivalent to attr::cfg_matches.

fn is_simple(&self) -> bool[src]

Whether the configuration consists of just Cfg or Not.

fn is_all(&self) -> bool[src]

Whether the configuration consists of just Cfg, Not or All.

pub(crate) fn render_short_html(&self) -> String[src]

Renders the configuration for human display, as a short HTML description.

pub(crate) fn render_long_html(&self) -> String[src]

Renders the configuration for long display, as a long HTML description.

pub(crate) fn render_long_plain(&self) -> String[src]

Renders the configuration for long display, as a long plain text description.

fn should_capitalize_first_letter(&self) -> bool[src]

fn should_append_only_to_description(&self) -> bool[src]

fn should_use_with_in_description(&self) -> bool[src]

pub(crate) fn simplify_with(&self, assume: &Cfg) -> Option<Cfg>[src]

Attempt to simplify this cfg by assuming that assume is already known to be true, will return None if simplification managed to completely eliminate any requirements from this Cfg.

See tests::test_simplify_with for examples.

Trait Implementations

impl BitAnd<Cfg> for Cfg[src]

type Output = Cfg

The resulting type after applying the & operator.

fn bitand(self, other: Cfg) -> Cfg[src]

Performs the & operation. Read more

impl BitAndAssign<Cfg> for Cfg[src]

fn bitand_assign(&mut self, other: Cfg)[src]

Performs the &= operation. Read more

impl BitOr<Cfg> for Cfg[src]

type Output = Cfg

The resulting type after applying the | operator.

fn bitor(self, other: Cfg) -> Cfg[src]

Performs the | operation. Read more

impl BitOrAssign<Cfg> for Cfg[src]

fn bitor_assign(&mut self, other: Cfg)[src]

Performs the |= operation. Read more

impl Clone for Cfg[src]

fn clone(&self) -> Cfg[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Cfg[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Hash for Cfg[src]

fn hash<__H: Hasher>(&self, state: &mut __H)[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher, 
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl Not for Cfg[src]

type Output = Cfg

The resulting type after applying the ! operator.

fn not(self) -> Cfg[src]

Performs the unary ! operation. Read more

impl PartialEq<Cfg> for Cfg[src]

fn eq(&self, other: &Cfg) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Cfg) -> bool[src]

This method tests for !=.

impl Eq for Cfg[src]

impl StructuralEq for Cfg[src]

impl StructuralPartialEq for Cfg[src]

Auto Trait Implementations

impl RefUnwindSafe for Cfg

impl Send for Cfg

impl Sync for Cfg

impl Unpin for Cfg

impl UnwindSafe for Cfg

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone, 
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> WithConstness for T[src]

fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]

fn with_const(self) -> ConstnessAnd<Self>[src]

fn without_const(self) -> ConstnessAnd<Self>[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized, 
[src]