Struct cargo::core::features::CliUnstable [−][src]
A parsed representation of all unstable flags that Cargo accepts.
Cargo, like rustc
, accepts a suite of -Z
flags which are intended for
gating unstable functionality to Cargo. These flags are only available on
the nightly channel of Cargo.
This struct doesn’t have quite the same convenience macro that the features have above, but the procedure should still be relatively stable for adding a new unstable flag:
-
First, add a field to this
CliUnstable
structure. All flags are allowed to have a value as the-Z
flags are either of the form-Z foo
or-Z foo=bar
, and it’s up to you how to parsebar
. -
Add an arm to the match statement in
CliUnstable::add
below to match on your new flag. The key (k
) is what you’re matching on and the value is inv
. -
(optional) Add a new parsing function to parse your datatype. As of now there’s an example for
bool
, but more can be added! -
In Cargo use
config.cli_unstable()
to get a reference to this structure and then test for your flag or your value and act accordingly.
If you have any trouble with this, please let us know!
Fields
print_im_a_teapot: bool
unstable_options: bool
no_index_update: bool
avoid_dev_deps: bool
minimal_versions: bool
package_features: bool
advanced_env: bool
config_profile: bool
dual_proc_macros: bool
mtime_on_use: bool
named_profiles: bool
binary_dep_depinfo: bool
build_std: Option<Vec<String>>
timings: Option<Vec<String>>
doctest_xcompile: bool
panic_abort_tests: bool
Implementations
impl CliUnstable
[src]
pub fn parse(&mut self, flags: &[String]) -> CargoResult<()>
[src]
pub fn fail_if_stable_opt(&self, flag: &str, issue: u32) -> CargoResult<()>
[src]
Generates an error if -Z unstable-options
was not used.
Intended to be used when a user passes a command-line flag that
requires -Z unstable-options
.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for CliUnstable
impl Send for CliUnstable
impl Sync for CliUnstable
impl Unpin for CliUnstable
impl UnwindSafe for CliUnstable
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,
pub 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> Same<T> for T
[src]
type Output = T
Should always be Self
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.
pub 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>,
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]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,