pub enum Command<E: Extension> {
Backend(BackendOptions<E>),
JSON {
output_file: PathOrDash,
kind: Vec<ExportBodyKind>,
use_ids: bool,
include_extra: bool,
},
CliExtension(E::Command),
}
Variants§
Backend(BackendOptions<E>)
Translate to a backend. The translated modules will be written
under the directory <PKG>/proofs/<BACKEND>/extraction
, where
<PKG>
is the translated cargo package name and <BACKEND>
the name of the backend.
JSON
Export directly as a JSON file
Fields
§
output_file: PathOrDash
Path to the output JSON file, “-” denotes stdout.
§
kind: Vec<ExportBodyKind>
Whether the bodies are exported as THIR, built MIR, const
MIR, or a combination. Repeat this option to extract a
combination (e.g. -k thir -k mir-built
). Pass --kind
alone with no value to disable body extraction.
CliExtension(E::Command)
Implementations§
source§impl<E: Extension> Command<E>
impl<E: Extension> Command<E>
pub fn body_kinds(&self) -> Vec<ExportBodyKind>
Trait Implementations§
source§impl<'de, E> Deserialize<'de> for Command<E>
impl<'de, E> Deserialize<'de> for Command<E>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<E: Extension> FromArgMatches for Command<E>
impl<E: Extension> FromArgMatches for Command<E>
source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
Assign values from
ArgMatches
to self
.source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
Assign values from
ArgMatches
to self
.source§impl<E: Extension + JsonSchema> JsonSchema for Command<E>
impl<E: Extension + JsonSchema> JsonSchema for Command<E>
source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moresource§impl<E: Extension> NormalizePaths for Command<E>
impl<E: Extension> NormalizePaths for Command<E>
fn normalize_paths(&mut self)
source§impl<E: Extension> Subcommand for Command<E>
impl<E: Extension> Subcommand for Command<E>
source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Append to
Command
so it can instantiate self
via
FromArgMatches::update_from_arg_matches_mut
Read moresource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Test whether
Self
can parse a specific subcommandAuto Trait Implementations§
impl<E> Freeze for Command<E>where
<E as Extension>::Command: Freeze,
<E as Extension>::BackendOptions: Freeze,
<E as Extension>::FStarOptions: Freeze,
impl<E> RefUnwindSafe for Command<E>where
<E as Extension>::Command: RefUnwindSafe,
<E as Extension>::BackendOptions: RefUnwindSafe,
<E as Extension>::FStarOptions: RefUnwindSafe,
impl<E> Send for Command<E>where
<E as Extension>::Command: Send,
<E as Extension>::BackendOptions: Send,
<E as Extension>::FStarOptions: Send,
impl<E> Sync for Command<E>where
<E as Extension>::Command: Sync,
<E as Extension>::BackendOptions: Sync,
<E as Extension>::FStarOptions: Sync,
impl<E> Unpin for Command<E>where
<E as Extension>::Command: Unpin,
<E as Extension>::BackendOptions: Unpin,
<E as Extension>::FStarOptions: Unpin,
impl<E> UnwindSafe for Command<E>where
<E as Extension>::Command: UnwindSafe,
<E as Extension>::BackendOptions: UnwindSafe,
<E as Extension>::FStarOptions: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more