# Struct cargo::core::features::CliUnstable

source ·

    pub struct CliUnstable {Show 35 fields
        pub allow_features: Option<BTreeSet<String>>,
        pub print_im_a_teapot: bool,
        pub advanced_env: bool,
        pub asymmetric_token: bool,
        pub avoid_dev_deps: bool,
        pub binary_dep_depinfo: bool,
        pub bindeps: bool,
        pub build_std: Option<Vec<String>>,
        pub build_std_features: Option<Vec<String>>,
        pub check_cfg: bool,
        pub codegen_backend: bool,
        pub config_include: bool,
        pub direct_minimal_versions: bool,
        pub doctest_xcompile: bool,
        pub dual_proc_macros: bool,
        pub features: Option<Vec<String>>,
        pub gitoxide: Option<GitoxideFeatures>,
        pub host_config: bool,
        pub lints: bool,
        pub minimal_versions: bool,
        pub msrv_policy: bool,
        pub mtime_on_use: bool,
        pub next_lockfile_bump: bool,
        pub no_index_update: bool,
        pub panic_abort_tests: bool,
        pub profile_rustflags: bool,
        pub publish_timeout: bool,
        pub rustdoc_map: bool,
        pub rustdoc_scrape_examples: bool,
        pub script: bool,
        pub separate_nightlies: bool,
        pub skip_rustdoc_fingerprint: bool,
        pub target_applies_to_host: bool,
        pub trim_paths: bool,
        pub unstable_options: bool,
    }

Expand description

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.

## Fields§

§`allow_features: Option<BTreeSet<String>>`§`print_im_a_teapot: bool`§`advanced_env: bool`§`asymmetric_token: bool`§`avoid_dev_deps: bool`§`binary_dep_depinfo: bool`§`bindeps: bool`§`build_std: Option<Vec<String>>`§`build_std_features: Option<Vec<String>>`§`check_cfg: bool`§`codegen_backend: bool`§`config_include: bool`§`direct_minimal_versions: bool`§`doctest_xcompile: bool`§`dual_proc_macros: bool`§`features: Option<Vec<String>>`§`gitoxide: Option<GitoxideFeatures>`§`host_config: bool`§`lints: bool`§`minimal_versions: bool`§`msrv_policy: bool`§`mtime_on_use: bool`§`next_lockfile_bump: bool`§`no_index_update: bool`§`panic_abort_tests: bool`§`profile_rustflags: bool`§`publish_timeout: bool`§`rustdoc_map: bool`§`rustdoc_scrape_examples: bool`§`script: bool`§`separate_nightlies: bool`§`skip_rustdoc_fingerprint: bool`§`target_applies_to_host: bool`§`trim_paths: bool`§`unstable_options: bool`

## Implementations§

source§

### impl CliUnstable

source

#### pub fn help() -> Vec<(&'static str, &'static str)>

source§

### impl CliUnstable

source

#### pub fn parse( &mut self, flags: &[String], nightly_features_allowed: bool ) -> CargoResult<Vec<String>>

source

#### fn add(&mut self, flag: &str, warnings: &mut Vec<String>) -> CargoResult<()>

source

#### pub fn fail_if_stable_opt(&self, flag: &str, issue: u32) -> CargoResult<()>

Generates an error if `-Z unstable-options` was not used for a new, unstable command-line flag.

source

#### pub fn fail_if_stable_command( &self, config: &Config, command: &str, issue: u32 ) -> CargoResult<()>

Generates an error if `-Z unstable-options` was not used for a new, unstable subcommand.

## Trait Implementations§

source§

### impl Debug for CliUnstable

source§

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

Formats the value using the given formatter. Read more
source§

### impl Default for CliUnstable

source§

#### fn default() -> CliUnstable

Returns the “default value” for a type. Read more
source§

### impl<'de> Deserialize<'de> for CliUnstable where CliUnstable: Default,

source§

#### fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

## 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§

source§

### impl<T> Any for Twhere T: 'static + ?Sized,

source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
source§

### impl<T> Borrow<T> for Twhere T: ?Sized,

source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

### impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

### impl<T> From<T> for T

source§

#### fn from(t: T) -> T

Returns the argument unchanged.

§

### impl<T> Instrument for T

§

#### fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [`Span`], returning an `Instrumented` wrapper. Read more
§

#### fn in_current_span(self) -> Instrumented<Self>

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

### impl<T, U> Into<U> for Twhere U: From<T>,

source§

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source§

### impl<T> Same for T

§

#### type Output = T

Should always be `Self`
source§

### impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

#### type Error = Infallible

The type returned in the event of a conversion error.
source§

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

### impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

### impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

#### fn vzip(self) -> V

§

### impl<T> WithSubscriber for T

§

#### 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
§

#### fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default `Subscriber` to this type, returning a [`WithDispatch`] wrapper. Read more
source§

### impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

## 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: 144 bytes