[−][src]Struct autocfg::AutoCfg
Helper to detect compiler features for cfg
output in build scripts.
Implementations
impl AutoCfg
[src]
pub fn new() -> Result<Self, Error>
[src]
Create a new AutoCfg
instance.
Common errors
rustc
can't be executed, fromRUSTC
or in thePATH
.- The version output from
rustc
can't be parsed. OUT_DIR
is not set in the environment, or is not a writable directory.
pub fn with_dir<T: Into<PathBuf>>(dir: T) -> Result<Self, Error>
[src]
Create a new AutoCfg
instance with the specified output directory.
Common errors
rustc
can't be executed, fromRUSTC
or in thePATH
.- The version output from
rustc
can't be parsed. dir
is not a writable directory.
pub fn probe_rustc_version(&self, major: usize, minor: usize) -> bool
[src]
Test whether the current rustc
reports a version greater than
or equal to "major
.minor
".
pub fn emit_rustc_version(&self, major: usize, minor: usize)
[src]
Sets a cfg
value of the form rustc_major_minor
, like rustc_1_29
,
if the current rustc
is at least that version.
pub fn probe_sysroot_crate(&self, name: &str) -> bool
[src]
Tests whether the given sysroot crate can be used.
The test code is subject to change, but currently looks like:
extern crate CRATE as probe;
pub fn emit_sysroot_crate(&self, name: &str)
[src]
Emits a config value has_CRATE
if probe_sysroot_crate
returns true.
pub fn probe_path(&self, path: &str) -> bool
[src]
Tests whether the given path can be used.
The test code is subject to change, but currently looks like:
pub use PATH;
pub fn emit_has_path(&self, path: &str)
[src]
Emits a config value has_PATH
if probe_path
returns true.
Any non-identifier characters in the path
will be replaced with
_
in the generated config value.
pub fn emit_path_cfg(&self, path: &str, cfg: &str)
[src]
Emits the given cfg
value if probe_path
returns true.
pub fn probe_trait(&self, name: &str) -> bool
[src]
Tests whether the given trait can be used.
The test code is subject to change, but currently looks like:
pub trait Probe: TRAIT + Sized {}
pub fn emit_has_trait(&self, name: &str)
[src]
Emits a config value has_TRAIT
if probe_trait
returns true.
Any non-identifier characters in the trait name
will be replaced with
_
in the generated config value.
pub fn emit_trait_cfg(&self, name: &str, cfg: &str)
[src]
Emits the given cfg
value if probe_trait
returns true.
pub fn probe_type(&self, name: &str) -> bool
[src]
Tests whether the given type can be used.
The test code is subject to change, but currently looks like:
pub type Probe = TYPE;
pub fn emit_has_type(&self, name: &str)
[src]
Emits a config value has_TYPE
if probe_type
returns true.
Any non-identifier characters in the type name
will be replaced with
_
in the generated config value.
pub fn emit_type_cfg(&self, name: &str, cfg: &str)
[src]
Emits the given cfg
value if probe_type
returns true.
pub fn probe_expression(&self, expr: &str) -> bool
[src]
Tests whether the given expression can be used.
The test code is subject to change, but currently looks like:
pub fn probe() { let _ = EXPR; }
pub fn emit_expression_cfg(&self, expr: &str, cfg: &str)
[src]
Emits the given cfg
value if probe_expression
returns true.
pub fn probe_constant(&self, expr: &str) -> bool
[src]
Tests whether the given constant expression can be used.
The test code is subject to change, but currently looks like:
pub const PROBE: () = ((), EXPR).0;
pub fn emit_constant_cfg(&self, expr: &str, cfg: &str)
[src]
Emits the given cfg
value if probe_constant
returns true.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for AutoCfg
impl Send for AutoCfg
impl Sync for AutoCfg
impl Unpin for AutoCfg
impl UnwindSafe for AutoCfg
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,