pub struct UnstableOptions {
Show 177 fields pub allow_features: Option<Vec<String>>, pub always_encode_mir: bool, pub asm_comments: bool, pub assert_incr_state: Option<String>, pub assume_incomplete_release: bool, pub binary_dep_depinfo: bool, pub box_noalias: bool, pub branch_protection: Option<BranchProtection>, pub cf_protection: CFProtection, pub cgu_partitioning_strategy: Option<String>, pub codegen_backend: Option<String>, pub combine_cgu: bool, pub crate_attr: Vec<String>, pub debug_info_for_profiling: bool, pub debug_macros: bool, pub deduplicate_diagnostics: bool, pub dep_info_omit_d_target: bool, pub dep_tasks: bool, pub diagnostic_width: Option<usize>, pub dlltool: Option<PathBuf>, pub dont_buffer_diagnostics: bool, pub drop_tracking: bool, pub drop_tracking_mir: bool, pub dual_proc_macros: bool, pub dump_dep_graph: bool, pub dump_drop_tracking_cfg: Option<String>, pub dump_mir: Option<String>, pub dump_mir_dataflow: bool, pub dump_mir_dir: String, pub dump_mir_exclude_pass_number: bool, pub dump_mir_graphviz: bool, pub dump_mir_spanview: Option<MirSpanview>, pub dump_mono_stats: SwitchWithOptPath, pub dump_mono_stats_format: DumpMonoStatsFormat, pub dwarf_version: Option<u32>, pub dylib_lto: bool, pub emit_stack_sizes: bool, pub emit_thin_lto: bool, pub export_executable_symbols: bool, pub extra_const_ub_checks: bool, pub fewer_names: Option<bool>, pub force_unstable_if_unmarked: bool, pub fuel: Option<(String, u64)>, pub function_sections: Option<bool>, pub future_incompat_test: bool, pub gcc_ld: Option<LdImpl>, pub graphviz_dark_mode: bool, pub graphviz_font: String, pub hir_stats: bool, pub human_readable_cgu_names: bool, pub identify_regions: bool, pub incremental_ignore_spans: bool, pub incremental_info: bool, pub incremental_relative_spans: bool, pub incremental_verify_ich: bool, pub inline_in_all_cgus: Option<bool>, pub inline_llvm: bool, pub inline_mir: Option<bool>, pub inline_mir_hint_threshold: Option<usize>, pub inline_mir_threshold: Option<usize>, pub input_stats: bool, pub instrument_coverage: Option<InstrumentCoverage>, pub instrument_mcount: bool, pub keep_hygiene_data: bool, pub layout_seed: Option<u64>, pub link_native_libraries: bool, pub link_only: bool, pub llvm_plugins: Vec<String>, pub llvm_time_trace: bool, pub location_detail: LocationDetail, pub log_backtrace: Option<String>, pub ls: bool, pub macro_backtrace: bool, pub maximal_hir_to_mir_coverage: bool, pub merge_functions: Option<MergeFunctions>, pub meta_stats: bool, pub mir_emit_retag: bool, pub mir_enable_passes: Vec<(String, bool)>, pub mir_opt_level: Option<usize>, pub mir_pretty_relative_line_numbers: bool, pub move_size_limit: Option<usize>, pub mutable_noalias: bool, pub nll_facts: bool, pub nll_facts_dir: String, pub no_analysis: bool, pub no_codegen: bool, pub no_generate_arange_section: bool, pub no_jump_tables: bool, pub no_leak_check: bool, pub no_link: bool, pub no_parallel_llvm: bool, pub no_profiler_runtime: bool, pub no_unique_section_names: bool, pub normalize_docs: bool, pub oom: OomStrategy, pub osx_rpath_install_name: bool, pub packed_bundled_libs: bool, pub panic_abort_tests: bool, pub panic_in_drop: PanicStrategy, pub parse_only: bool, pub perf_stats: bool, pub pick_stable_methods_before_any_unstable: bool, pub plt: Option<bool>, pub polonius: bool, pub polymorphize: bool, pub pre_link_arg: (), pub pre_link_args: Vec<String>, pub precise_enum_drop_elaboration: bool, pub print_fuel: Option<String>, pub print_llvm_passes: bool, pub print_mono_items: Option<String>, pub print_type_sizes: bool, pub proc_macro_backtrace: bool, pub proc_macro_execution_strategy: ProcMacroExecutionStrategy, pub profile: bool, pub profile_closures: bool, pub profile_emit: Option<PathBuf>, pub profile_sample_use: Option<PathBuf>, pub profiler_runtime: String, pub query_dep_graph: bool, pub randomize_layout: bool, pub relax_elf_relocations: Option<bool>, pub relro_level: Option<RelroLevel>, pub remap_cwd_prefix: Option<PathBuf>, pub report_delayed_bugs: bool, pub sanitizer: SanitizerSet, pub sanitizer_memory_track_origins: usize, pub sanitizer_recover: SanitizerSet, pub saturating_float_casts: Option<bool>, pub save_analysis: bool, pub self_profile: SwitchWithOptPath, pub self_profile_counter: String, pub self_profile_events: Option<Vec<String>>, pub share_generics: Option<bool>, pub show_span: Option<String>, pub simulate_remapped_rust_src_base: Option<PathBuf>, pub span_debug: bool, pub span_free_formats: bool, pub split_dwarf_inlining: bool, pub split_dwarf_kind: SplitDwarfKind, pub src_hash_algorithm: Option<SourceFileHashAlgorithm>, pub stack_protector: StackProtector, pub strict_init_checks: bool, pub strip: Strip, pub symbol_mangling_version: Option<SymbolManglingVersion>, pub teach: bool, pub temps_dir: Option<String>, pub thinlto: Option<bool>, pub thir_unsafeck: bool, pub threads: usize, pub time_llvm_passes: bool, pub time_passes: bool, pub tiny_const_eval_limit: bool, pub tls_model: Option<TlsModel>, pub trace_macros: bool, pub track_diagnostics: bool, pub trait_solver: TraitSolver, pub translate_additional_ftl: Option<PathBuf>, pub translate_directionality_markers: bool, pub translate_lang: Option<LanguageIdentifier>, pub translate_remapped_path_to_local_path: bool, pub trap_unreachable: Option<bool>, pub treat_err_as_bug: Option<NonZeroUsize>, pub trim_diagnostic_paths: bool, pub tune_cpu: Option<String>, pub ui_testing: bool, pub uninit_const_chunk_threshold: usize, pub unleash_the_miri_inside_of_you: bool, pub unpretty: Option<String>, pub unsound_mir_opts: bool, pub unstable_options: bool, pub use_ctors_section: Option<bool>, pub validate_mir: bool, pub verbose: bool, pub verify_llvm_ir: bool, pub virtual_function_elimination: bool, pub wasi_exec_model: Option<WasiExecModel>,
}

Fields§

§allow_features: Option<Vec<String>>§always_encode_mir: bool§asm_comments: bool§assert_incr_state: Option<String>§assume_incomplete_release: bool§binary_dep_depinfo: bool§box_noalias: bool§branch_protection: Option<BranchProtection>§cf_protection: CFProtection§cgu_partitioning_strategy: Option<String>§codegen_backend: Option<String>§combine_cgu: bool§crate_attr: Vec<String>§debug_info_for_profiling: bool§debug_macros: bool§deduplicate_diagnostics: bool§dep_info_omit_d_target: bool§dep_tasks: bool§diagnostic_width: Option<usize>§dlltool: Option<PathBuf>§dont_buffer_diagnostics: bool§drop_tracking: bool§drop_tracking_mir: bool§dual_proc_macros: bool§dump_dep_graph: bool§dump_drop_tracking_cfg: Option<String>§dump_mir: Option<String>§dump_mir_dataflow: bool§dump_mir_dir: String§dump_mir_exclude_pass_number: bool§dump_mir_graphviz: bool§dump_mir_spanview: Option<MirSpanview>§dump_mono_stats: SwitchWithOptPath§dump_mono_stats_format: DumpMonoStatsFormat§dwarf_version: Option<u32>§dylib_lto: bool§emit_stack_sizes: bool§emit_thin_lto: bool§export_executable_symbols: bool§extra_const_ub_checks: bool§fewer_names: Option<bool>§force_unstable_if_unmarked: bool§fuel: Option<(String, u64)>§function_sections: Option<bool>§future_incompat_test: bool§gcc_ld: Option<LdImpl>§graphviz_dark_mode: bool§graphviz_font: String§hir_stats: bool§human_readable_cgu_names: bool§identify_regions: bool§incremental_ignore_spans: bool§incremental_info: bool§incremental_relative_spans: bool§incremental_verify_ich: bool§inline_in_all_cgus: Option<bool>§inline_llvm: bool§inline_mir: Option<bool>§inline_mir_hint_threshold: Option<usize>§inline_mir_threshold: Option<usize>§input_stats: bool§instrument_coverage: Option<InstrumentCoverage>§instrument_mcount: bool§keep_hygiene_data: bool§layout_seed: Option<u64>§link_native_libraries: bool§link_only: bool§llvm_plugins: Vec<String>§llvm_time_trace: bool§location_detail: LocationDetail§log_backtrace: Option<String>§ls: bool§macro_backtrace: bool§maximal_hir_to_mir_coverage: bool§merge_functions: Option<MergeFunctions>§meta_stats: bool§mir_emit_retag: bool§mir_enable_passes: Vec<(String, bool)>§mir_opt_level: Option<usize>§mir_pretty_relative_line_numbers: bool§move_size_limit: Option<usize>§mutable_noalias: bool§nll_facts: bool§nll_facts_dir: String§no_analysis: bool§no_codegen: bool§no_generate_arange_section: bool§no_jump_tables: bool§no_leak_check: bool§no_link: bool§no_parallel_llvm: bool§no_profiler_runtime: bool§no_unique_section_names: bool§normalize_docs: bool§oom: OomStrategy§osx_rpath_install_name: bool§packed_bundled_libs: bool§panic_abort_tests: bool§panic_in_drop: PanicStrategy§parse_only: bool§perf_stats: bool§pick_stable_methods_before_any_unstable: bool§plt: Option<bool>§polonius: bool§polymorphize: bool§pre_link_arg: ()§pre_link_args: Vec<String>§precise_enum_drop_elaboration: bool§print_fuel: Option<String>§print_llvm_passes: bool§print_mono_items: Option<String>§print_type_sizes: bool§proc_macro_backtrace: bool§proc_macro_execution_strategy: ProcMacroExecutionStrategy§profile: bool§profile_closures: bool§profile_emit: Option<PathBuf>§profile_sample_use: Option<PathBuf>§profiler_runtime: String§query_dep_graph: bool§randomize_layout: bool§relax_elf_relocations: Option<bool>§relro_level: Option<RelroLevel>§remap_cwd_prefix: Option<PathBuf>§report_delayed_bugs: bool§sanitizer: SanitizerSet§sanitizer_memory_track_origins: usize§sanitizer_recover: SanitizerSet§saturating_float_casts: Option<bool>§save_analysis: bool§self_profile: SwitchWithOptPath§self_profile_counter: String§self_profile_events: Option<Vec<String>>

keep this in sync with the event filter names in librustc_data_structures/profiling.rs

§share_generics: Option<bool>§show_span: Option<String>§simulate_remapped_rust_src_base: Option<PathBuf>§span_debug: bool§span_free_formats: bool

o/w tests have closure@path

§split_dwarf_inlining: bool§split_dwarf_kind: SplitDwarfKind§src_hash_algorithm: Option<SourceFileHashAlgorithm>§stack_protector: StackProtector§strict_init_checks: bool§strip: Strip§symbol_mangling_version: Option<SymbolManglingVersion>§teach: bool§temps_dir: Option<String>§thinlto: Option<bool>§thir_unsafeck: bool§threads: usize

We default to 1 here since we want to behave like a sequential compiler for now. This’ll likely be adjusted in the future. Note that -Zthreads=0 is the way to get the num_cpus behavior.

§time_llvm_passes: bool§time_passes: bool§tiny_const_eval_limit: bool§tls_model: Option<TlsModel>§trace_macros: bool§track_diagnostics: bool§trait_solver: TraitSolver§translate_additional_ftl: Option<PathBuf>§translate_directionality_markers: bool§translate_lang: Option<LanguageIdentifier>§translate_remapped_path_to_local_path: bool§trap_unreachable: Option<bool>§treat_err_as_bug: Option<NonZeroUsize>§trim_diagnostic_paths: bool§tune_cpu: Option<String>§ui_testing: bool§uninit_const_chunk_threshold: usize§unleash_the_miri_inside_of_you: bool§unpretty: Option<String>§unsound_mir_opts: bool§unstable_options: bool

This name is kind of confusing: Most unstable options enable something themselves, while this just allows “normal” options to be feature-gated.

§use_ctors_section: Option<bool>§validate_mir: bool§verbose: bool§verify_llvm_ir: bool§virtual_function_elimination: bool§wasi_exec_model: Option<WasiExecModel>

Implementations§

source§

impl UnstableOptions

source

pub fn diagnostic_handler_flags(&self, can_emit_warnings: bool) -> HandlerFlags

source§

impl UnstableOptions

source

pub fn build(matches: &Matches, error_format: ErrorOutputType) -> UnstableOptions

source

fn dep_tracking_hash(
    &self,
    for_crate_hash: bool,
    error_format: ErrorOutputType
) -> u64

Trait Implementations§

source§

impl Clone for UnstableOptions

source§

fn clone(&self) -> UnstableOptions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for UnstableOptions

source§

fn default() -> UnstableOptions

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

Auto Trait Implementations§

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,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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> ToOwned for Twhere
    T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · 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.
const: unstable · source§

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

Performs the conversion.

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: 1104 bytes