Struct ra_ap_cfg::CfgOptions
source · pub struct CfgOptions { /* private fields */ }
Expand description
Configuration options used for conditional compilation on items with cfg
attributes.
We have two kind of options in different namespaces: atomic options like unix
, and
key-value options like target_arch="x86"
.
Note that for key-value options, one key can have multiple values (but not none).
feature
is an example. We have both feature="foo"
and feature="bar"
if features
foo
and bar
are both enabled. And here, we store key-value options as a set of tuple
of key and value in key_values
.
See: https://doc.rust-lang.org/reference/conditional-compilation.html#set-configuration-options
Implementations§
source§impl CfgOptions
impl CfgOptions
pub fn check(&self, cfg: &CfgExpr) -> Option<bool>
pub fn insert_atom(&mut self, key: SmolStr)
pub fn insert_key_value(&mut self, key: SmolStr, value: SmolStr)
pub fn apply_diff(&mut self, diff: CfgDiff)
pub fn get_cfg_keys(&self) -> impl Iterator<Item = &SmolStr>
pub fn get_cfg_values<'a>(
&'a self,
cfg_key: &'a str
) -> impl Iterator<Item = &'a SmolStr> + 'a
Trait Implementations§
source§impl Clone for CfgOptions
impl Clone for CfgOptions
source§fn clone(&self) -> CfgOptions
fn clone(&self) -> CfgOptions
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CfgOptions
impl Debug for CfgOptions
source§impl Default for CfgOptions
impl Default for CfgOptions
source§fn default() -> CfgOptions
fn default() -> CfgOptions
Returns the “default value” for a type. Read more
source§impl PartialEq<CfgOptions> for CfgOptions
impl PartialEq<CfgOptions> for CfgOptions
source§fn eq(&self, other: &CfgOptions) -> bool
fn eq(&self, other: &CfgOptions) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.