pub struct UnstableOptions {Show 203 fields
pub allow_features: Option<Vec<String>>,
pub always_encode_mir: 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 check_cfg_all_expected: bool,
pub checksum_hash_algorithm: Option<SourceFileHashAlgorithm>,
pub codegen_backend: Option<String>,
pub combine_cgu: bool,
pub coverage_options: CoverageOptions,
pub crate_attr: Vec<String>,
pub cross_crate_inline_threshold: InliningThreshold,
pub debug_info_for_profiling: bool,
pub debug_info_type_line_numbers: bool,
pub debuginfo_compression: DebugInfoCompression,
pub deduplicate_diagnostics: bool,
pub default_visibility: Option<SymbolVisibility>,
pub dep_info_omit_d_target: bool,
pub direct_access_external_data: Option<bool>,
pub dual_proc_macros: bool,
pub dump_dep_graph: bool,
pub dump_mir: Option<String>,
pub dump_mir_dataflow: bool,
pub dump_mir_dir: String,
pub dump_mir_exclude_alloc_bytes: bool,
pub dump_mir_exclude_pass_number: bool,
pub dump_mir_graphviz: bool,
pub dump_mono_stats: SwitchWithOptPath,
pub dump_mono_stats_format: DumpMonoStatsFormat,
pub dwarf_version: Option<u32>,
pub dylib_lto: bool,
pub eagerly_emit_delayed_bugs: bool,
pub ehcont_guard: bool,
pub embed_source: bool,
pub emit_stack_sizes: bool,
pub emit_thin_lto: bool,
pub enforce_type_length_limit: bool,
pub export_executable_symbols: bool,
pub external_clangrt: bool,
pub extra_const_ub_checks: bool,
pub fewer_names: Option<bool>,
pub fixed_x18: bool,
pub flatten_format_args: bool,
pub fmt_debug: FmtDebug,
pub force_unstable_if_unmarked: bool,
pub function_return: FunctionReturn,
pub function_sections: Option<bool>,
pub future_incompat_test: bool,
pub graphviz_dark_mode: bool,
pub graphviz_font: String,
pub has_thread_local: Option<bool>,
pub human_readable_cgu_names: bool,
pub identify_regions: bool,
pub ignore_directory_in_diagnostics_source_blocks: Vec<String>,
pub incremental_ignore_spans: bool,
pub incremental_info: 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_forwarder_threshold: Option<usize>,
pub inline_mir_hint_threshold: Option<usize>,
pub inline_mir_preserve_debug: Option<bool>,
pub inline_mir_threshold: Option<usize>,
pub input_stats: bool,
pub instrument_mcount: bool,
pub instrument_xray: Option<InstrumentXRay>,
pub layout_seed: Option<u64>,
pub link_directives: bool,
pub link_native_libraries: bool,
pub link_only: bool,
pub linker_features: LinkerFeaturesCli,
pub lint_llvm_ir: bool,
pub lint_mir: bool,
pub llvm_module_flag: Vec<(String, u32, String)>,
pub llvm_plugins: Vec<String>,
pub llvm_time_trace: bool,
pub location_detail: LocationDetail,
pub ls: Vec<String>,
pub macro_backtrace: bool,
pub maximal_hir_to_mir_coverage: bool,
pub merge_functions: Option<MergeFunctions>,
pub meta_stats: bool,
pub metrics_dir: Option<PathBuf>,
pub mir_emit_retag: bool,
pub mir_enable_passes: Vec<(String, bool)>,
pub mir_include_spans: MirIncludeSpans,
pub mir_keep_place_mention: bool,
pub mir_opt_level: Option<usize>,
pub mir_strip_debuginfo: MirStripDebugInfo,
pub move_size_limit: Option<usize>,
pub mutable_noalias: bool,
pub next_solver: NextSolverConfig,
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_implied_bounds_compat: bool,
pub no_jump_tables: bool,
pub no_leak_check: bool,
pub no_link: bool,
pub no_parallel_backend: bool,
pub no_profiler_runtime: bool,
pub no_trait_vptr: bool,
pub no_unique_section_names: bool,
pub normalize_docs: bool,
pub on_broken_pipe: OnBrokenPipe,
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_crate_root_only: bool,
pub patchable_function_entry: PatchableFunctionEntry,
pub plt: Option<bool>,
pub polonius: Polonius,
pub pre_link_arg: (),
pub pre_link_args: Vec<String>,
pub precise_enum_drop_elaboration: bool,
pub print_codegen_stats: bool,
pub print_llvm_passes: bool,
pub print_mono_items: Option<String>,
pub print_type_sizes: bool,
pub print_vtable_sizes: bool,
pub proc_macro_backtrace: bool,
pub proc_macro_execution_strategy: ProcMacroExecutionStrategy,
pub profile_closures: bool,
pub profile_sample_use: Option<PathBuf>,
pub profiler_runtime: String,
pub query_dep_graph: bool,
pub randomize_layout: bool,
pub reg_struct_return: bool,
pub regparm: Option<u32>,
pub relax_elf_relocations: Option<bool>,
pub remap_cwd_prefix: Option<PathBuf>,
pub remap_path_scope: RemapPathScopeComponents,
pub remark_dir: Option<PathBuf>,
pub sanitizer: SanitizerSet,
pub sanitizer_cfi_canonical_jump_tables: Option<bool>,
pub sanitizer_cfi_generalize_pointers: Option<bool>,
pub sanitizer_cfi_normalize_integers: Option<bool>,
pub sanitizer_dataflow_abilist: Vec<String>,
pub sanitizer_memory_track_origins: usize,
pub sanitizer_recover: SanitizerSet,
pub saturating_float_casts: Option<bool>,
pub self_profile: SwitchWithOptPath,
pub self_profile_counter: String,
pub self_profile_events: Option<Vec<String>>,
pub share_generics: Option<bool>,
pub shell_argfiles: bool,
pub simulate_remapped_rust_src_base: Option<PathBuf>,
pub small_data_threshold: Option<usize>,
pub span_debug: bool,
pub span_free_formats: bool,
pub split_dwarf_inlining: bool,
pub split_dwarf_kind: SplitDwarfKind,
pub split_lto_unit: Option<bool>,
pub src_hash_algorithm: Option<SourceFileHashAlgorithm>,
pub stack_protector: StackProtector,
pub staticlib_allow_rdylib_deps: bool,
pub staticlib_prefer_dynamic: bool,
pub strict_init_checks: bool,
pub teach: bool,
pub temps_dir: Option<String>,
pub terminal_urls: TerminalUrl,
pub thinlto: Option<bool>,
pub threads: usize,
pub time_llvm_passes: bool,
pub time_passes: bool,
pub time_passes_format: TimePassesFormat,
pub tiny_const_eval_limit: bool,
pub tls_model: Option<TlsModel>,
pub trace_macros: bool,
pub track_diagnostics: bool,
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<NonZero<usize>>,
pub trim_diagnostic_paths: bool,
pub tune_cpu: Option<String>,
pub ub_checks: Option<bool>,
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 use_sync_unwind: Option<bool>,
pub validate_mir: bool,
pub verbose_asm: bool,
pub verbose_internals: bool,
pub verify_llvm_ir: bool,
pub virtual_function_elimination: bool,
pub wasi_exec_model: Option<WasiExecModel>,
pub wasm_c_abi: WasmCAbi,
pub write_long_types_to_disk: bool,
}
Fields§
§allow_features: Option<Vec<String>>
§always_encode_mir: bool
§assert_incr_state: Option<String>
§assume_incomplete_release: bool
§binary_dep_depinfo: bool
§box_noalias: bool
§branch_protection: Option<BranchProtection>
§cf_protection: CFProtection
§check_cfg_all_expected: bool
§checksum_hash_algorithm: Option<SourceFileHashAlgorithm>
§codegen_backend: Option<String>
§combine_cgu: bool
§coverage_options: CoverageOptions
§crate_attr: Vec<String>
§cross_crate_inline_threshold: InliningThreshold
§debug_info_for_profiling: bool
§debug_info_type_line_numbers: bool
§debuginfo_compression: DebugInfoCompression
§deduplicate_diagnostics: bool
§default_visibility: Option<SymbolVisibility>
§dep_info_omit_d_target: bool
§direct_access_external_data: Option<bool>
§dual_proc_macros: bool
§dump_dep_graph: bool
§dump_mir: Option<String>
§dump_mir_dataflow: bool
§dump_mir_dir: String
§dump_mir_exclude_alloc_bytes: bool
§dump_mir_exclude_pass_number: bool
§dump_mir_graphviz: bool
§dump_mono_stats: SwitchWithOptPath
§dump_mono_stats_format: DumpMonoStatsFormat
§dwarf_version: Option<u32>
§dylib_lto: bool
§eagerly_emit_delayed_bugs: bool
§ehcont_guard: bool
§embed_source: bool
§emit_stack_sizes: bool
§emit_thin_lto: bool
§enforce_type_length_limit: bool
§export_executable_symbols: bool
§external_clangrt: bool
§extra_const_ub_checks: bool
§fewer_names: Option<bool>
§fixed_x18: bool
§flatten_format_args: bool
§fmt_debug: FmtDebug
§force_unstable_if_unmarked: bool
§function_return: FunctionReturn
§function_sections: Option<bool>
§future_incompat_test: bool
§graphviz_dark_mode: bool
§graphviz_font: String
§has_thread_local: Option<bool>
§human_readable_cgu_names: bool
§identify_regions: bool
§ignore_directory_in_diagnostics_source_blocks: Vec<String>
§incremental_ignore_spans: bool
§incremental_info: bool
§incremental_verify_ich: bool
§inline_in_all_cgus: Option<bool>
§inline_llvm: bool
§inline_mir: Option<bool>
§inline_mir_forwarder_threshold: Option<usize>
§inline_mir_hint_threshold: Option<usize>
§inline_mir_preserve_debug: Option<bool>
§inline_mir_threshold: Option<usize>
§input_stats: bool
§instrument_mcount: bool
§instrument_xray: Option<InstrumentXRay>
§layout_seed: Option<u64>
§link_directives: bool
§link_native_libraries: bool
§link_only: bool
§linker_features: LinkerFeaturesCli
§lint_llvm_ir: bool
§lint_mir: bool
§llvm_module_flag: Vec<(String, u32, String)>
§llvm_plugins: Vec<String>
§llvm_time_trace: bool
§location_detail: LocationDetail
§ls: Vec<String>
§macro_backtrace: bool
§maximal_hir_to_mir_coverage: bool
§merge_functions: Option<MergeFunctions>
§meta_stats: bool
§metrics_dir: Option<PathBuf>
§mir_emit_retag: bool
§mir_enable_passes: Vec<(String, bool)>
§mir_include_spans: MirIncludeSpans
§mir_keep_place_mention: bool
§mir_opt_level: Option<usize>
§mir_strip_debuginfo: MirStripDebugInfo
§move_size_limit: Option<usize>
§mutable_noalias: bool
§next_solver: NextSolverConfig
§nll_facts: bool
§nll_facts_dir: String
§no_analysis: bool
§no_codegen: bool
§no_generate_arange_section: bool
§no_implied_bounds_compat: bool
§no_jump_tables: bool
§no_leak_check: bool
§no_link: bool
§no_parallel_backend: bool
§no_profiler_runtime: bool
§no_trait_vptr: bool
§no_unique_section_names: bool
§normalize_docs: bool
§on_broken_pipe: OnBrokenPipe
§oom: OomStrategy
§osx_rpath_install_name: bool
§packed_bundled_libs: bool
§panic_abort_tests: bool
§panic_in_drop: PanicStrategy
§parse_crate_root_only: bool
§patchable_function_entry: PatchableFunctionEntry
§plt: Option<bool>
§polonius: Polonius
§pre_link_arg: ()
§pre_link_args: Vec<String>
§precise_enum_drop_elaboration: bool
§print_codegen_stats: bool
§print_llvm_passes: bool
§print_mono_items: Option<String>
§print_type_sizes: bool
§print_vtable_sizes: bool
§proc_macro_backtrace: bool
§proc_macro_execution_strategy: ProcMacroExecutionStrategy
§profile_closures: bool
§profile_sample_use: Option<PathBuf>
§profiler_runtime: String
§query_dep_graph: bool
§randomize_layout: bool
§reg_struct_return: bool
§regparm: Option<u32>
§relax_elf_relocations: Option<bool>
§remap_cwd_prefix: Option<PathBuf>
§remap_path_scope: RemapPathScopeComponents
§remark_dir: Option<PathBuf>
§sanitizer: SanitizerSet
§sanitizer_cfi_canonical_jump_tables: Option<bool>
§sanitizer_cfi_generalize_pointers: Option<bool>
§sanitizer_cfi_normalize_integers: Option<bool>
§sanitizer_dataflow_abilist: Vec<String>
§sanitizer_memory_track_origins: usize
§sanitizer_recover: SanitizerSet
§saturating_float_casts: Option<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
shell_argfiles: bool
§simulate_remapped_rust_src_base: Option<PathBuf>
§small_data_threshold: Option<usize>
§span_debug: bool
§span_free_formats: bool
o/w tests have closure@path
split_dwarf_inlining: bool
§split_dwarf_kind: SplitDwarfKind
§split_lto_unit: Option<bool>
§src_hash_algorithm: Option<SourceFileHashAlgorithm>
§stack_protector: StackProtector
§staticlib_allow_rdylib_deps: bool
§staticlib_prefer_dynamic: bool
§strict_init_checks: bool
§teach: bool
§temps_dir: Option<String>
§terminal_urls: TerminalUrl
§thinlto: Option<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
§time_passes_format: TimePassesFormat
§tiny_const_eval_limit: bool
§tls_model: Option<TlsModel>
§trace_macros: bool
§track_diagnostics: bool
§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<NonZero<usize>>
§trim_diagnostic_paths: bool
§tune_cpu: Option<String>
§ub_checks: Option<bool>
§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.
The main check for -Zunstable-options
takes place separately from the
usual parsing of -Z
options (see crate::config::nightly_options
),
so this boolean value is mostly used for enabling unstable values of
stable options. That separate check doesn’t handle boolean values, so
to avoid an inconsistent state we also forbid them here.
use_ctors_section: Option<bool>
§use_sync_unwind: Option<bool>
§validate_mir: bool
§verbose_asm: bool
§verbose_internals: bool
§verify_llvm_ir: bool
§virtual_function_elimination: bool
§wasi_exec_model: Option<WasiExecModel>
§wasm_c_abi: WasmCAbi
§write_long_types_to_disk: bool
Implementations§
Source§impl UnstableOptions
impl UnstableOptions
pub fn dcx_flags(&self, can_emit_warnings: bool) -> DiagCtxtFlags
pub fn src_hash_algorithm(&self, target: &Target) -> SourceFileHashAlgorithm
pub fn checksum_hash_algorithm(&self) -> Option<SourceFileHashAlgorithm>
Source§impl UnstableOptions
impl UnstableOptions
pub fn build(early_dcx: &EarlyDiagCtxt, matches: &Matches) -> UnstableOptions
fn dep_tracking_hash( &self, for_crate_hash: bool, error_format: ErrorOutputType, ) -> u64
Trait Implementations§
Source§impl Clone for UnstableOptions
impl Clone for UnstableOptions
Source§fn clone(&self) -> UnstableOptions
fn clone(&self) -> UnstableOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Default for UnstableOptions
impl Default for UnstableOptions
Source§fn default() -> UnstableOptions
fn default() -> UnstableOptions
Auto Trait Implementations§
impl DynSend for UnstableOptions
impl DynSync for UnstableOptions
impl Freeze for UnstableOptions
impl RefUnwindSafe for UnstableOptions
impl Send for UnstableOptions
impl Sync for UnstableOptions
impl Unpin for UnstableOptions
impl UnwindSafe for UnstableOptions
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
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: 1120 bytes