pub(crate) enum Cfg {
True,
False,
Cfg(Symbol, Option<Symbol>),
Not(Box<Cfg>),
Any(Vec<Cfg>),
All(Vec<Cfg>),
}Variants
True
Accepts all configurations.
False
Denies all configurations.
Cfg(Symbol, Option<Symbol>)
A generic configuration option, e.g., test or target_os = "linux".
Not(Box<Cfg>)
Negates a configuration requirement, i.e., not(x).
Any(Vec<Cfg>)
Union of a list of configuration requirements, i.e., any(...).
All(Vec<Cfg>)
Intersection of a list of configuration requirements, i.e., all(...).
Implementations
sourceimpl Cfg
impl Cfg
sourcefn parse_nested(
nested_cfg: &NestedMetaItem,
exclude: &FxHashSet<Cfg>
) -> Result<Option<Cfg>, InvalidCfgError>
fn parse_nested(
nested_cfg: &NestedMetaItem,
exclude: &FxHashSet<Cfg>
) -> Result<Option<Cfg>, InvalidCfgError>
Parses a NestedMetaItem into a Cfg.
pub(crate) fn parse_without(
cfg: &MetaItem,
exclude: &FxHashSet<Cfg>
) -> Result<Option<Cfg>, InvalidCfgError>
sourcepub(crate) fn parse(cfg: &MetaItem) -> Result<Cfg, InvalidCfgError>
pub(crate) fn parse(cfg: &MetaItem) -> Result<Cfg, InvalidCfgError>
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.
sourcepub(crate) fn matches(
&self,
parse_sess: &ParseSess,
features: Option<&Features>
) -> bool
pub(crate) fn matches(
&self,
parse_sess: &ParseSess,
features: Option<&Features>
) -> bool
Checks whether the given configuration can be matched in the current session.
Equivalent to attr::cfg_matches.
sourcepub(crate) fn render_short_html(&self) -> String
pub(crate) fn render_short_html(&self) -> String
Renders the configuration for human display, as a short HTML description.
sourcepub(crate) fn render_long_html(&self) -> String
pub(crate) fn render_long_html(&self) -> String
Renders the configuration for long display, as a long HTML description.
sourcepub(crate) fn render_long_plain(&self) -> String
pub(crate) fn render_long_plain(&self) -> String
Renders the configuration for long display, as a long plain text description.
fn should_capitalize_first_letter(&self) -> bool
fn should_append_only_to_description(&self) -> bool
fn should_use_with_in_description(&self) -> bool
sourcepub(crate) fn simplify_with(&self, assume: &Cfg) -> Option<Cfg>
pub(crate) fn simplify_with(&self, assume: &Cfg) -> Option<Cfg>
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
sourceimpl BitAndAssign<Cfg> for Cfg
impl BitAndAssign<Cfg> for Cfg
sourcefn bitand_assign(&mut self, other: Cfg)
fn bitand_assign(&mut self, other: Cfg)
Performs the &= operation. Read more
sourceimpl BitOrAssign<Cfg> for Cfg
impl BitOrAssign<Cfg> for Cfg
sourcefn bitor_assign(&mut self, other: Cfg)
fn bitor_assign(&mut self, other: Cfg)
Performs the |= operation. Read more
impl Eq for Cfg
impl StructuralEq for Cfg
impl StructuralPartialEq for Cfg
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more
impl<'a, T> Captures<'a> for T where
T: ?Sized,
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: 32 bytes
Size for each variant:
True: 0 bytesFalse: 0 bytesCfg: 8 bytesNot: 12 bytesAny: 28 bytesAll: 28 bytes