diff --git a/src/flags.rs b/src/flags.rs index 81d64d6..2bbd766 100644 --- a/src/flags.rs +++ b/src/flags.rs @@ -233,6 +233,7 @@ static DEFAULT_RUSTFLAGS: &[&[&str]] = &[ "-Zcrate-attr=feature(yeet_expr)", "-Zcrate-attr=feature(const_refs_to_static)", "-Zcrate-attr=feature(unnamed_fields)", + "-Zcrate-attr=feature(deref_patterns)", // "-Zprint-vtable-sizes", "-Zunstable-options", @@ -423,6 +424,7 @@ static DEFAULT_RUSTFLAGS: &[&[&str]] = &[ "-Zcrate-attr=feature(yeet_expr)", "-Zcrate-attr=feature(const_refs_to_static)", "-Zcrate-attr=feature(unnamed_fields)", + "-Zcrate-attr=feature(deref_patterns)", // "-Zprint-vtable-sizes", "-Zunstable-options", @@ -613,6 +615,7 @@ static DEFAULT_RUSTFLAGS: &[&[&str]] = &[ "-Zcrate-attr=feature(yeet_expr)", "-Zcrate-attr=feature(const_refs_to_static)", "-Zcrate-attr=feature(unnamed_fields)", + "-Zcrate-attr=feature(deref_patterns)", // "-Zprint-vtable-sizes", "-Zunstable-options", @@ -817,6 +820,7 @@ static DEFAULT_RUSTFLAGS: &[&[&str]] = &[ "-Zcrate-attr=feature(yeet_expr)", "-Zcrate-attr=feature(const_refs_to_static)", "-Zcrate-attr=feature(unnamed_fields)", + "-Zcrate-attr=feature(deref_patterns)", "-Clink-dead-code=true", ], /* rustc codegen gcc @@ -831,39 +835,49 @@ static DEFAULT_RUSTFLAGS: &[&[&str]] = &[ ]; static EXPENSIVE_RUSTFLAGS: &[&[&str]] = &[ - // all allow-by-default lints, split into two because otherwise the get_flag_combinations would eat all ram - // I might fix this at some point by making it work lists of &str instead of se(); - &["-Zinstrument-xray"], + // default flags &[ // lints #1 "-Zunstable-options", + "-Zcrate-attr=feature(strict_provenance)", + "-Zcrate-attr=feature(must_not_suspend)", + "-Zcrate-attr=feature(non_exhaustive_omitted_patterns_lint)", + "-Ztranslate-lang=en_US", + "-Zmaximal-hir-to-mir-coverage", + // "-Clto=off", // rustc_codegen_gcc + "--edition=2021", + // "-Ztreat-err-as-bug=3", + "--cap-lints=warn", + "--verbose", "-Wabsolute-paths-not-starting-with-crate", "-Wbox-pointers", "-Wdeprecated-in-future", "-Welided-lifetimes-in-paths", "-Wexplicit-outlives-requirements", + "-Wffi-unwind-calls", "-Wfuzzy-provenance-casts", - "-Zcrate-attr=feature(strict_provenance)", - "-Wlossy-provenance-casts", "-Wkeyword-idents", + "-Wlet-underscore-drop", + "-Wlossy-provenance-casts", "-Wmacro-use-extern-crate", "-Wmeta-variable-misuse", "-Wmissing-abi", "-Wmissing-copy-implementations", "-Wmissing-debug-implementations", "-Wmissing-docs", + "-Wmultiple-supertrait-upcastable", "-Wmust-not-suspend", - "-Zcrate-attr=feature(must_not_suspend)", "-Wnon-ascii-idents", - "-Zcrate-attr=feature(non_exhaustive_omitted_patterns_lint)", "-Wnon-exhaustive-omitted-patterns", - "-Wnoop-method-call", + "-Wrust-2021-incompatible-closure-captures", "-Wrust-2021-incompatible-or-patterns", "-Wrust-2021-prefixes-incompatible-syntax", "-Wrust-2021-prelude-collisions", "-Wsingle-use-lifetimes", "-Wtrivial-casts", "-Wtrivial-numeric-casts", + "-Wunit-bindings", + "-Wunnameable-types", "-Wunreachable-pub", "-Wunsafe-code", "-Wunsafe-op-in-unsafe-fn", @@ -875,108 +889,33 @@ static EXPENSIVE_RUSTFLAGS: &[&[&str]] = &[ "-Wunused-macro-rules", "-Wunused-qualifications", "-Wunused-results", + "-Wunused-tuple-struct-fields", "-Wvariant-size-differences", - "-Wpointer-structural-match", - "-Wrust-2021-incompatible-closure-captures", - "-Zprint-type-sizes", "-Ztranslate-lang=en_US", ], - &["-Zmir-opt-level=0", "-ocodegen"], - &["-Copt-level=3", "-Zmir-opt-level=0", "-ocodegen"], // basic stuff, edition 2015 &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=0", - "-Zmir-opt-level=1", - "-Zmir-opt-level=2", - "-Zmir-opt-level=3", "-Zmir-opt-level=5", + "-Zmir-opt-level=3", + "-Zmir-opt-level=2", + "-Zmir-opt-level=1", + "-Zmir-opt-level=0", "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zextra-const-ub-checks", - // "-Zmeta-stats", - "-Zstack-protector=all", - "-Zstrict-init-checks=yes", - "-Zcrate-attr=feature(coroutine_clone)", - "-Zcrate-attr=feature(impl_trait_in_fn_trait_return)", - "-Zcrate-attr=feature(generic_const_exprs)", - "-Zcrate-attr=feature(const_closures)", - "-Zcrate-attr=feature(const_trait_impl)", - "-Ztranslate-lang=en_US", - ], - // incremental compilation, keep this! - &["INCR_COMP"], - // &["-Zborrowck=mir", "-Zcrate-attr=feature(nll)"], - // temporary disable these for more throughput... haven't found new bugs with these in a long time - - // cat compiler/rustc_feature/src/active.rs | grep "(active, \|(incomplete" | awk '{ print $2 }' | sed s/,// - - // search std etc: - // git grep -o "#\[unstable(feature.*$" | grep -o "#\[unstable(feature.*$" | sort -n | uniq | grep -o "feature = .*, " | cut -d' ' -f3 | sed s/\"//g | sed s/,//g | sort -n | uniq - - /* - for i in `cat compiler/rustc_feature/src/active.rs | grep "(active, \|(incomplete" | awk '{ print $2 }' | sed s/,//` ; do ; - echo "\"-Zcrate-attr=feature(${i})\","; done - */ - // enable different rustc features - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(abi_vectorcall)", "-Zcrate-attr=feature(anonymous_lifetime_in_impl_trait)", "-Zcrate-attr=feature(generic_assert)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", - // error "-Zcrate-attr=feature(staged_api)", + "-Zcrate-attr=feature(lifetime_capture_rules_2024)", + "-Zcrate-attr=feature(link_cfg)", + "-Zcrate-attr=feature(multiple_supertrait_upcastable)", "-Zcrate-attr=feature(with_negative_coherence)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(auto_traits)", "-Zcrate-attr=feature(box_patterns)", "-Zcrate-attr=feature(doc_notable_trait)", "-Zcrate-attr=feature(dropck_eyepatch)", "-Zcrate-attr=feature(fundamental)", "-Zcrate-attr=feature(linkage)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(rustc_private)", + "-Zcrate-attr=feature(rustdoc_missing_doc_code_examples)", "-Zcrate-attr=feature(start)", "-Zcrate-attr=feature(structural_match)", "-Zcrate-attr=feature(unboxed_closures)", @@ -984,51 +923,23 @@ static EXPENSIVE_RUSTFLAGS: &[&[&str]] = &[ "-Zcrate-attr=feature(arm_target_feature)", "-Zcrate-attr=feature(avx512_target_feature)", "-Zcrate-attr=feature(bpf_target_feature)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", + "-Zcrate-attr=feature(csky_target_feature)", "-Zcrate-attr=feature(ermsb_target_feature)", "-Zcrate-attr=feature(hexagon_target_feature)", + "-Zcrate-attr=feature(loongarch_target_feature)", "-Zcrate-attr=feature(mips_target_feature)", "-Zcrate-attr=feature(powerpc_target_feature)", "-Zcrate-attr=feature(riscv_target_feature)", "-Zcrate-attr=feature(rtm_target_feature)", "-Zcrate-attr=feature(sse4a_target_feature)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(tbm_target_feature)", "-Zcrate-attr=feature(wasm_target_feature)", "-Zcrate-attr=feature(abi_avr_interrupt)", "-Zcrate-attr=feature(abi_c_cmse_nonsecure_call)", "-Zcrate-attr=feature(abi_msp430_interrupt)", "-Zcrate-attr=feature(abi_ptx)", + "-Zcrate-attr=feature(abi_riscv_interrupt)", "-Zcrate-attr=feature(abi_x86_interrupt)", - "-Zcrate-attr=feature(adt_const_params)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(alloc_error_handler)", "-Zcrate-attr=feature(arbitrary_self_types)", "-Zcrate-attr=feature(asm_const)", @@ -1036,129 +947,72 @@ static EXPENSIVE_RUSTFLAGS: &[&[&str]] = &[ "-Zcrate-attr=feature(asm_unwind)", "-Zcrate-attr=feature(associated_const_equality)", "-Zcrate-attr=feature(associated_type_defaults)", - "-Zcrate-attr=feature(return_type_notation)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(async_closure)", + "-Zcrate-attr=feature(async_fn_traits)", + "-Zcrate-attr=feature(async_fn_track_caller)", + "-Zcrate-attr=feature(async_for_loop)", + "-Zcrate-attr=feature(builtin_syntax)", "-Zcrate-attr=feature(c_unwind)", "-Zcrate-attr=feature(c_variadic)", + "-Zcrate-attr=feature(cfg_overflow_checks)", + "-Zcrate-attr=feature(cfg_relocation_model)", "-Zcrate-attr=feature(cfg_sanitize)", + "-Zcrate-attr=feature(cfg_sanitizer_cfi)", "-Zcrate-attr=feature(cfg_target_compact)", "-Zcrate-attr=feature(cfg_target_has_atomic)", "-Zcrate-attr=feature(cfg_target_has_atomic_equal_alignment)", "-Zcrate-attr=feature(cfg_target_thread_local)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(cfg_version)", + "-Zcrate-attr=feature(cfi_encoding)", "-Zcrate-attr=feature(closure_lifetime_binder)", "-Zcrate-attr=feature(closure_track_caller)", "-Zcrate-attr=feature(cmse_nonsecure_entry)", + "-Zcrate-attr=feature(collapse_debuginfo)", "-Zcrate-attr=feature(const_async_blocks)", "-Zcrate-attr=feature(const_extern_fn)", "-Zcrate-attr=feature(const_fn_floating_point_arithmetic)", "-Zcrate-attr=feature(const_for)", "-Zcrate-attr=feature(const_mut_refs)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(const_precise_live_drops)", "-Zcrate-attr=feature(const_refs_to_cell)", "-Zcrate-attr=feature(const_trait_impl)", "-Zcrate-attr=feature(const_try)", + "-Zcrate-attr=feature(coroutine_clone)", + "-Zcrate-attr=feature(coroutines)", + "-Zcrate-attr=feature(coverage_attribute)", + "-Zcrate-attr=feature(custom_code_classes_in_docs)", "-Zcrate-attr=feature(custom_inner_attributes)", "-Zcrate-attr=feature(custom_test_frameworks)", "-Zcrate-attr=feature(decl_macro)", "-Zcrate-attr=feature(default_type_parameter_fallback)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(deprecated_safe)", "-Zcrate-attr=feature(deprecated_suggestion)", + "-Zcrate-attr=feature(do_not_recommend)", "-Zcrate-attr=feature(doc_auto_cfg)", "-Zcrate-attr=feature(doc_cfg)", "-Zcrate-attr=feature(doc_cfg_hide)", "-Zcrate-attr=feature(doc_masked)", - "-Zcrate-attr=feature(dyn_star)", + "-Zcrate-attr=feature(effects)", "-Zcrate-attr=feature(exclusive_range_pattern)", "-Zcrate-attr=feature(exhaustive_patterns)", + "-Zcrate-attr=feature(extended_varargs_abi_support)", "-Zcrate-attr=feature(extern_types)", "-Zcrate-attr=feature(ffi_const)", "-Zcrate-attr=feature(ffi_pure)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(fn_align)", - "-Zcrate-attr=feature(coroutines)", - "-Zcrate-attr=feature(coroutine_clone)", + "-Zcrate-attr=feature(gen_blocks)", "-Zcrate-attr=feature(generic_arg_infer)", - "-Zcrate-attr=feature(generic_associated_types_extended)", - "-Zcrate-attr=feature(generic_const_exprs)", + "-Zcrate-attr=feature(half_open_range_patterns_in_slices)", "-Zcrate-attr=feature(if_let_guard)", - "-Zcrate-attr=feature(inherent_associated_types)", + "-Zcrate-attr=feature(impl_trait_in_assoc_type)", + "-Zcrate-attr=feature(impl_trait_in_fn_trait_return)", "-Zcrate-attr=feature(inline_const)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", - "-Zcrate-attr=feature(inline_const_pat)", "-Zcrate-attr=feature(intra_doc_pointers)", "-Zcrate-attr=feature(large_assignments)", - "-Zcrate-attr=feature(link_cfg)", + "-Zcrate-attr=feature(let_chains)", + "-Zcrate-attr=feature(link_arg_attribute)", "-Zcrate-attr=feature(lint_reasons)", "-Zcrate-attr=feature(macro_metavar_expr)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(marker_trait_attr)", "-Zcrate-attr=feature(min_specialization)", "-Zcrate-attr=feature(more_qualified_paths)", @@ -1167,110 +1021,678 @@ static EXPENSIVE_RUSTFLAGS: &[&[&str]] = &[ "-Zcrate-attr=feature(native_link_modifiers_as_needed)", "-Zcrate-attr=feature(negative_impls)", "-Zcrate-attr=feature(never_type)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(never_type_fallback)", "-Zcrate-attr=feature(no_core)", "-Zcrate-attr=feature(no_sanitize)", "-Zcrate-attr=feature(non_exhaustive_omitted_patterns_lint)", "-Zcrate-attr=feature(object_safe_for_dispatch)", + "-Zcrate-attr=feature(offset_of_enum)", "-Zcrate-attr=feature(optimize_attribute)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", "-Zcrate-attr=feature(proc_macro_hygiene)", "-Zcrate-attr=feature(raw_ref_op)", "-Zcrate-attr=feature(register_tool)", - "-Zcrate-attr=feature(repr128)", "-Zcrate-attr=feature(repr_simd)", "-Zcrate-attr=feature(rust_cold_cc)", "-Zcrate-attr=feature(simd_ffi)", - "-Ztranslate-lang=en_US", - ], - &[ - "-Zunstable-options", - "-Zvalidate-mir", - "-Zmir-opt-level=5", - "-Zdump-mir=all", - "--emit=mir", - "-Zalways-encode-mir", - "-Cdebuginfo=2", - "-Zcrate-attr=feature(specialization)", "-Zcrate-attr=feature(stmt_expr_attributes)", "-Zcrate-attr=feature(strict_provenance)", + "-Zcrate-attr=feature(string_deref_patterns)", "-Zcrate-attr=feature(target_feature_11)", "-Zcrate-attr=feature(thread_local)", "-Zcrate-attr=feature(trait_alias)", - "-Zcrate-attr=feature(transmutability)", + "-Zcrate-attr=feature(transmute_generic_consts)", "-Zcrate-attr=feature(transparent_unions)", "-Zcrate-attr=feature(trivial_bounds)", "-Zcrate-attr=feature(try_blocks)", "-Zcrate-attr=feature(type_alias_impl_trait)", - "-Ztranslate-lang=en_US", - ], - &[ + "-Zcrate-attr=feature(type_ascription)", + "-Zcrate-attr=feature(type_changing_struct_update)", + "-Zcrate-attr=feature(type_privacy_lints)", + "-Zcrate-attr=feature(unix_sigpipe)", + "-Zcrate-attr=feature(unsized_fn_params)", + "-Zcrate-attr=feature(unsized_tuple_coercion)", + "-Zcrate-attr=feature(used_with_arg)", + "-Zcrate-attr=feature(wasm_abi)", + "-Zcrate-attr=feature(yeet_expr)", + "-Zcrate-attr=feature(const_refs_to_static)", + "-Zcrate-attr=feature(unnamed_fields)", + // + "-Zprint-vtable-sizes", "-Zunstable-options", "-Zvalidate-mir", - "-Zmir-opt-level=5", + "-Zverify-llvm-ir=yes", + "-Zincremental-verify-ich=yes", "-Zdump-mir=all", "--emit=mir", + "-Zprint-mono-items=eager", + "-Zpolymorphize=on", "-Zalways-encode-mir", - "-Cdebuginfo=2", + // "-Cpasses=lint", + "-Zextra-const-ub-checks", + "--edition=2015", + "-Ztranslate-lang=en_US", + "-Zprint-type-sizes", + "-Zmaximal-hir-to-mir-coverage", + "-Zstrict-init-checks=yes", + // "-Clto=off", // rustc_codegen_gcc + // "-Ztreat-err-as-bug=3", + "-Znext-solver=coherence", + "-Zrandomize-layout", + "-Zinline-mir=yes", + "-Zinline-mir-threshold=20", + "-Zpolonius=next", + "-Zlint-mir", + ], + // basic stuff, edition 2018 + &[ + "-Zmir-opt-level=5", + "-Zmir-opt-level=3", + "-Zmir-opt-level=2", + "-Zmir-opt-level=1", + "-Zmir-opt-level=0", + "-Zunsound-mir-opts", + "-Zcrate-attr=feature(abi_vectorcall)", + "-Zcrate-attr=feature(anonymous_lifetime_in_impl_trait)", + "-Zcrate-attr=feature(generic_assert)", + "-Zcrate-attr=feature(lifetime_capture_rules_2024)", + "-Zcrate-attr=feature(link_cfg)", + "-Zcrate-attr=feature(multiple_supertrait_upcastable)", + "-Zcrate-attr=feature(with_negative_coherence)", + "-Zcrate-attr=feature(auto_traits)", + "-Zcrate-attr=feature(box_patterns)", + "-Zcrate-attr=feature(doc_notable_trait)", + "-Zcrate-attr=feature(dropck_eyepatch)", + "-Zcrate-attr=feature(fundamental)", + "-Zcrate-attr=feature(linkage)", + "-Zcrate-attr=feature(rustc_private)", + "-Zcrate-attr=feature(rustdoc_missing_doc_code_examples)", + "-Zcrate-attr=feature(start)", + "-Zcrate-attr=feature(structural_match)", + "-Zcrate-attr=feature(unboxed_closures)", + "-Zcrate-attr=feature(aarch64_ver_target_feature)", + "-Zcrate-attr=feature(arm_target_feature)", + "-Zcrate-attr=feature(avx512_target_feature)", + "-Zcrate-attr=feature(bpf_target_feature)", + "-Zcrate-attr=feature(csky_target_feature)", + "-Zcrate-attr=feature(ermsb_target_feature)", + "-Zcrate-attr=feature(hexagon_target_feature)", + "-Zcrate-attr=feature(loongarch_target_feature)", + "-Zcrate-attr=feature(mips_target_feature)", + "-Zcrate-attr=feature(powerpc_target_feature)", + "-Zcrate-attr=feature(riscv_target_feature)", + "-Zcrate-attr=feature(rtm_target_feature)", + "-Zcrate-attr=feature(sse4a_target_feature)", + "-Zcrate-attr=feature(tbm_target_feature)", + "-Zcrate-attr=feature(wasm_target_feature)", + "-Zcrate-attr=feature(abi_avr_interrupt)", + "-Zcrate-attr=feature(abi_c_cmse_nonsecure_call)", + "-Zcrate-attr=feature(abi_msp430_interrupt)", + "-Zcrate-attr=feature(abi_ptx)", + "-Zcrate-attr=feature(abi_riscv_interrupt)", + "-Zcrate-attr=feature(abi_x86_interrupt)", + "-Zcrate-attr=feature(alloc_error_handler)", + "-Zcrate-attr=feature(arbitrary_self_types)", + "-Zcrate-attr=feature(asm_const)", + "-Zcrate-attr=feature(asm_experimental_arch)", + "-Zcrate-attr=feature(asm_unwind)", + "-Zcrate-attr=feature(associated_const_equality)", + "-Zcrate-attr=feature(associated_type_defaults)", + "-Zcrate-attr=feature(async_closure)", + "-Zcrate-attr=feature(async_fn_traits)", + "-Zcrate-attr=feature(async_fn_track_caller)", + "-Zcrate-attr=feature(async_for_loop)", + "-Zcrate-attr=feature(builtin_syntax)", + "-Zcrate-attr=feature(c_unwind)", + "-Zcrate-attr=feature(c_variadic)", + "-Zcrate-attr=feature(cfg_overflow_checks)", + "-Zcrate-attr=feature(cfg_relocation_model)", + "-Zcrate-attr=feature(cfg_sanitize)", + "-Zcrate-attr=feature(cfg_sanitizer_cfi)", + "-Zcrate-attr=feature(cfg_target_compact)", + "-Zcrate-attr=feature(cfg_target_has_atomic)", + "-Zcrate-attr=feature(cfg_target_has_atomic_equal_alignment)", + "-Zcrate-attr=feature(cfg_target_thread_local)", + "-Zcrate-attr=feature(cfg_version)", + "-Zcrate-attr=feature(cfi_encoding)", + "-Zcrate-attr=feature(closure_lifetime_binder)", + "-Zcrate-attr=feature(closure_track_caller)", + "-Zcrate-attr=feature(cmse_nonsecure_entry)", + "-Zcrate-attr=feature(collapse_debuginfo)", + "-Zcrate-attr=feature(const_async_blocks)", + "-Zcrate-attr=feature(const_extern_fn)", + "-Zcrate-attr=feature(const_fn_floating_point_arithmetic)", + "-Zcrate-attr=feature(const_for)", + "-Zcrate-attr=feature(const_mut_refs)", + "-Zcrate-attr=feature(const_precise_live_drops)", + "-Zcrate-attr=feature(const_refs_to_cell)", + "-Zcrate-attr=feature(const_trait_impl)", + "-Zcrate-attr=feature(const_try)", + "-Zcrate-attr=feature(coroutine_clone)", + "-Zcrate-attr=feature(coroutines)", + "-Zcrate-attr=feature(coverage_attribute)", + "-Zcrate-attr=feature(custom_code_classes_in_docs)", + "-Zcrate-attr=feature(custom_inner_attributes)", + "-Zcrate-attr=feature(custom_test_frameworks)", + "-Zcrate-attr=feature(decl_macro)", + "-Zcrate-attr=feature(default_type_parameter_fallback)", + "-Zcrate-attr=feature(deprecated_safe)", + "-Zcrate-attr=feature(deprecated_suggestion)", + "-Zcrate-attr=feature(do_not_recommend)", + "-Zcrate-attr=feature(doc_auto_cfg)", + "-Zcrate-attr=feature(doc_cfg)", + "-Zcrate-attr=feature(doc_cfg_hide)", + "-Zcrate-attr=feature(doc_masked)", + "-Zcrate-attr=feature(effects)", + "-Zcrate-attr=feature(exclusive_range_pattern)", + "-Zcrate-attr=feature(exhaustive_patterns)", + "-Zcrate-attr=feature(extended_varargs_abi_support)", + "-Zcrate-attr=feature(extern_types)", + "-Zcrate-attr=feature(ffi_const)", + "-Zcrate-attr=feature(ffi_pure)", + "-Zcrate-attr=feature(fn_align)", + "-Zcrate-attr=feature(gen_blocks)", + "-Zcrate-attr=feature(generic_arg_infer)", + "-Zcrate-attr=feature(half_open_range_patterns_in_slices)", + "-Zcrate-attr=feature(if_let_guard)", + "-Zcrate-attr=feature(impl_trait_in_assoc_type)", + "-Zcrate-attr=feature(impl_trait_in_fn_trait_return)", + "-Zcrate-attr=feature(inline_const)", + "-Zcrate-attr=feature(intra_doc_pointers)", + "-Zcrate-attr=feature(large_assignments)", + "-Zcrate-attr=feature(let_chains)", + "-Zcrate-attr=feature(link_arg_attribute)", + "-Zcrate-attr=feature(lint_reasons)", + "-Zcrate-attr=feature(macro_metavar_expr)", + "-Zcrate-attr=feature(marker_trait_attr)", + "-Zcrate-attr=feature(min_specialization)", + "-Zcrate-attr=feature(more_qualified_paths)", + "-Zcrate-attr=feature(must_not_suspend)", + "-Zcrate-attr=feature(naked_functions)", + "-Zcrate-attr=feature(native_link_modifiers_as_needed)", + "-Zcrate-attr=feature(negative_impls)", + "-Zcrate-attr=feature(never_type)", + "-Zcrate-attr=feature(never_type_fallback)", + "-Zcrate-attr=feature(no_core)", + "-Zcrate-attr=feature(no_sanitize)", + "-Zcrate-attr=feature(non_exhaustive_omitted_patterns_lint)", + "-Zcrate-attr=feature(object_safe_for_dispatch)", + "-Zcrate-attr=feature(offset_of_enum)", + "-Zcrate-attr=feature(optimize_attribute)", + "-Zcrate-attr=feature(proc_macro_hygiene)", + "-Zcrate-attr=feature(raw_ref_op)", + "-Zcrate-attr=feature(register_tool)", + "-Zcrate-attr=feature(repr_simd)", + "-Zcrate-attr=feature(rust_cold_cc)", + "-Zcrate-attr=feature(simd_ffi)", + "-Zcrate-attr=feature(stmt_expr_attributes)", + "-Zcrate-attr=feature(strict_provenance)", + "-Zcrate-attr=feature(string_deref_patterns)", + "-Zcrate-attr=feature(target_feature_11)", + "-Zcrate-attr=feature(thread_local)", + "-Zcrate-attr=feature(trait_alias)", + "-Zcrate-attr=feature(transmute_generic_consts)", + "-Zcrate-attr=feature(transparent_unions)", + "-Zcrate-attr=feature(trivial_bounds)", + "-Zcrate-attr=feature(try_blocks)", + "-Zcrate-attr=feature(type_alias_impl_trait)", "-Zcrate-attr=feature(type_ascription)", "-Zcrate-attr=feature(type_changing_struct_update)", + "-Zcrate-attr=feature(type_privacy_lints)", + "-Zcrate-attr=feature(unix_sigpipe)", "-Zcrate-attr=feature(unsized_fn_params)", - "-Zcrate-attr=feature(unsized_locals)", "-Zcrate-attr=feature(unsized_tuple_coercion)", "-Zcrate-attr=feature(used_with_arg)", "-Zcrate-attr=feature(wasm_abi)", "-Zcrate-attr=feature(yeet_expr)", - "-Zcrate-attr=feature(non_lifetime_binders)", + "-Zcrate-attr=feature(const_refs_to_static)", + "-Zcrate-attr=feature(unnamed_fields)", + // + "-Zprint-vtable-sizes", + "-Zunstable-options", + "-Zvalidate-mir", + "-Zverify-llvm-ir=yes", + "-Zincremental-verify-ich=yes", + "-Zdump-mir=all", + "--emit=mir", + "-Zprint-mono-items=eager", + "-Zpolymorphize=on", + "-Zalways-encode-mir", + //"-Cpasses=lint", + "-Zextra-const-ub-checks", + "--edition=2018", "-Ztranslate-lang=en_US", + "-Zprint-type-sizes", + "-Zmaximal-hir-to-mir-coverage", + "-Zstrict-init-checks=yes", + // "-Clto=off", // rustc_codegen_gcc + // "-Ztreat-err-as-bug=3", + "-Znext-solver=coherence", + "-Zrandomize-layout", + "-Zinline-mir=yes", + "-Zverify-llvm-ir=yes", + "-Zinline-mir-threshold=20", + "-Zpolonius=next", + "-Zlint-mir", ], - // Zunprettty etc cant be combined unfortunately - &["-Cinstrument-coverage", "-ocodegen"], - &["-Cprofile-generate=/tmp/icemaker_pgo/", "-ocodegen"], - &["-Copt-level=z", "-ocodegen"], - &["-Zunpretty=normal"], - &["-Zunpretty=identified"], - &["-Zunpretty=expanded"], - &["-Zunpretty=expanded,identified"], - &["-Zunpretty=ast-tree"], - &["-Zunpretty=ast-tree,expanded"], - &["-Zunpretty=hir"], - &["-Zunpretty=hir,identified"], - &["-Zunpretty=hir-tree"], - &["-Zunpretty=thir-tree"], - &["-Zunpretty=hir,typed"], - &["-Zunpretty=expanded,hygiene"], - &["-Zunpretty=mir"], - &["-Zunpretty=mir-cfg"], - &["-Zdump-mir=all", "-Zdump-mir-dataflow"], - // Sanitizers + // basic stuff, edition 2021 &[ + "-Zmir-opt-level=5", + "-Zmir-opt-level=3", + "-Zmir-opt-level=2", + "-Zmir-opt-level=1", + "-Zmir-opt-level=0", + "-Zunsound-mir-opts", + "-Zcrate-attr=feature(abi_vectorcall)", + "-Zcrate-attr=feature(anonymous_lifetime_in_impl_trait)", + "-Zcrate-attr=feature(generic_assert)", + "-Zcrate-attr=feature(lifetime_capture_rules_2024)", + "-Zcrate-attr=feature(link_cfg)", + "-Zcrate-attr=feature(multiple_supertrait_upcastable)", + "-Zcrate-attr=feature(with_negative_coherence)", + "-Zcrate-attr=feature(auto_traits)", + "-Zcrate-attr=feature(box_patterns)", + "-Zcrate-attr=feature(doc_notable_trait)", + "-Zcrate-attr=feature(dropck_eyepatch)", + "-Zcrate-attr=feature(fundamental)", + "-Zcrate-attr=feature(linkage)", + "-Zcrate-attr=feature(rustc_private)", + "-Zcrate-attr=feature(rustdoc_missing_doc_code_examples)", + "-Zcrate-attr=feature(start)", + "-Zcrate-attr=feature(structural_match)", + "-Zcrate-attr=feature(unboxed_closures)", + "-Zcrate-attr=feature(aarch64_ver_target_feature)", + "-Zcrate-attr=feature(arm_target_feature)", + "-Zcrate-attr=feature(avx512_target_feature)", + "-Zcrate-attr=feature(bpf_target_feature)", + "-Zcrate-attr=feature(csky_target_feature)", + "-Zcrate-attr=feature(ermsb_target_feature)", + "-Zcrate-attr=feature(hexagon_target_feature)", + "-Zcrate-attr=feature(loongarch_target_feature)", + "-Zcrate-attr=feature(mips_target_feature)", + "-Zcrate-attr=feature(powerpc_target_feature)", + "-Zcrate-attr=feature(riscv_target_feature)", + "-Zcrate-attr=feature(rtm_target_feature)", + "-Zcrate-attr=feature(sse4a_target_feature)", + "-Zcrate-attr=feature(tbm_target_feature)", + "-Zcrate-attr=feature(wasm_target_feature)", + "-Zcrate-attr=feature(abi_avr_interrupt)", + "-Zcrate-attr=feature(abi_c_cmse_nonsecure_call)", + "-Zcrate-attr=feature(abi_msp430_interrupt)", + "-Zcrate-attr=feature(abi_ptx)", + "-Zcrate-attr=feature(abi_riscv_interrupt)", + "-Zcrate-attr=feature(abi_x86_interrupt)", + "-Zcrate-attr=feature(alloc_error_handler)", + "-Zcrate-attr=feature(arbitrary_self_types)", + "-Zcrate-attr=feature(asm_const)", + "-Zcrate-attr=feature(asm_experimental_arch)", + "-Zcrate-attr=feature(asm_unwind)", + "-Zcrate-attr=feature(associated_const_equality)", + "-Zcrate-attr=feature(associated_type_defaults)", + "-Zcrate-attr=feature(async_closure)", + "-Zcrate-attr=feature(async_fn_traits)", + "-Zcrate-attr=feature(async_fn_track_caller)", + "-Zcrate-attr=feature(async_for_loop)", + "-Zcrate-attr=feature(builtin_syntax)", + "-Zcrate-attr=feature(c_unwind)", + "-Zcrate-attr=feature(c_variadic)", + "-Zcrate-attr=feature(cfg_overflow_checks)", + "-Zcrate-attr=feature(cfg_relocation_model)", + "-Zcrate-attr=feature(cfg_sanitize)", + "-Zcrate-attr=feature(cfg_sanitizer_cfi)", + "-Zcrate-attr=feature(cfg_target_compact)", + "-Zcrate-attr=feature(cfg_target_has_atomic)", + "-Zcrate-attr=feature(cfg_target_has_atomic_equal_alignment)", + "-Zcrate-attr=feature(cfg_target_thread_local)", + "-Zcrate-attr=feature(cfg_version)", + "-Zcrate-attr=feature(cfi_encoding)", + "-Zcrate-attr=feature(closure_lifetime_binder)", + "-Zcrate-attr=feature(closure_track_caller)", + "-Zcrate-attr=feature(cmse_nonsecure_entry)", + "-Zcrate-attr=feature(collapse_debuginfo)", + "-Zcrate-attr=feature(const_async_blocks)", + "-Zcrate-attr=feature(const_extern_fn)", + "-Zcrate-attr=feature(const_fn_floating_point_arithmetic)", + "-Zcrate-attr=feature(const_for)", + "-Zcrate-attr=feature(const_mut_refs)", + "-Zcrate-attr=feature(const_precise_live_drops)", + "-Zcrate-attr=feature(const_refs_to_cell)", + "-Zcrate-attr=feature(const_trait_impl)", + "-Zcrate-attr=feature(const_try)", + "-Zcrate-attr=feature(coroutine_clone)", + "-Zcrate-attr=feature(coroutines)", + "-Zcrate-attr=feature(coverage_attribute)", + "-Zcrate-attr=feature(custom_code_classes_in_docs)", + "-Zcrate-attr=feature(custom_inner_attributes)", + "-Zcrate-attr=feature(custom_test_frameworks)", + "-Zcrate-attr=feature(decl_macro)", + "-Zcrate-attr=feature(default_type_parameter_fallback)", + "-Zcrate-attr=feature(deprecated_safe)", + "-Zcrate-attr=feature(deprecated_suggestion)", + "-Zcrate-attr=feature(do_not_recommend)", + "-Zcrate-attr=feature(doc_auto_cfg)", + "-Zcrate-attr=feature(doc_cfg)", + "-Zcrate-attr=feature(doc_cfg_hide)", + "-Zcrate-attr=feature(doc_masked)", + "-Zcrate-attr=feature(effects)", + "-Zcrate-attr=feature(exclusive_range_pattern)", + "-Zcrate-attr=feature(exhaustive_patterns)", + "-Zcrate-attr=feature(extended_varargs_abi_support)", + "-Zcrate-attr=feature(extern_types)", + "-Zcrate-attr=feature(ffi_const)", + "-Zcrate-attr=feature(ffi_pure)", + "-Zcrate-attr=feature(fn_align)", + "-Zcrate-attr=feature(gen_blocks)", + "-Zcrate-attr=feature(generic_arg_infer)", + "-Zcrate-attr=feature(half_open_range_patterns_in_slices)", + "-Zcrate-attr=feature(if_let_guard)", + "-Zcrate-attr=feature(impl_trait_in_assoc_type)", + "-Zcrate-attr=feature(impl_trait_in_fn_trait_return)", + "-Zcrate-attr=feature(inline_const)", + "-Zcrate-attr=feature(intra_doc_pointers)", + "-Zcrate-attr=feature(large_assignments)", + "-Zcrate-attr=feature(let_chains)", + "-Zcrate-attr=feature(link_arg_attribute)", + "-Zcrate-attr=feature(lint_reasons)", + "-Zcrate-attr=feature(macro_metavar_expr)", + "-Zcrate-attr=feature(marker_trait_attr)", + "-Zcrate-attr=feature(min_specialization)", + "-Zcrate-attr=feature(more_qualified_paths)", + "-Zcrate-attr=feature(must_not_suspend)", + "-Zcrate-attr=feature(naked_functions)", + "-Zcrate-attr=feature(native_link_modifiers_as_needed)", + "-Zcrate-attr=feature(negative_impls)", + "-Zcrate-attr=feature(never_type)", + "-Zcrate-attr=feature(never_type_fallback)", + "-Zcrate-attr=feature(no_core)", + "-Zcrate-attr=feature(no_sanitize)", + "-Zcrate-attr=feature(non_exhaustive_omitted_patterns_lint)", + "-Zcrate-attr=feature(object_safe_for_dispatch)", + "-Zcrate-attr=feature(offset_of_enum)", + "-Zcrate-attr=feature(optimize_attribute)", + "-Zcrate-attr=feature(proc_macro_hygiene)", + "-Zcrate-attr=feature(raw_ref_op)", + "-Zcrate-attr=feature(register_tool)", + "-Zcrate-attr=feature(repr_simd)", + "-Zcrate-attr=feature(rust_cold_cc)", + "-Zcrate-attr=feature(simd_ffi)", + "-Zcrate-attr=feature(stmt_expr_attributes)", + "-Zcrate-attr=feature(strict_provenance)", + "-Zcrate-attr=feature(string_deref_patterns)", + "-Zcrate-attr=feature(target_feature_11)", + "-Zcrate-attr=feature(thread_local)", + "-Zcrate-attr=feature(trait_alias)", + "-Zcrate-attr=feature(transmute_generic_consts)", + "-Zcrate-attr=feature(transparent_unions)", + "-Zcrate-attr=feature(trivial_bounds)", + "-Zcrate-attr=feature(try_blocks)", + "-Zcrate-attr=feature(type_alias_impl_trait)", + "-Zcrate-attr=feature(type_ascription)", + "-Zcrate-attr=feature(type_changing_struct_update)", + "-Zcrate-attr=feature(type_privacy_lints)", + "-Zcrate-attr=feature(unix_sigpipe)", + "-Zcrate-attr=feature(unsized_fn_params)", + "-Zcrate-attr=feature(unsized_tuple_coercion)", + "-Zcrate-attr=feature(used_with_arg)", + "-Zcrate-attr=feature(wasm_abi)", + "-Zcrate-attr=feature(yeet_expr)", + "-Zcrate-attr=feature(const_refs_to_static)", + "-Zcrate-attr=feature(unnamed_fields)", + // + "-Zprint-vtable-sizes", "-Zunstable-options", "-Zvalidate-mir", + "-Zverify-llvm-ir=yes", + "-Zincremental-verify-ich=yes", + "-Zdump-mir=all", + "--emit=mir", + "-Zprint-mono-items=eager", + "-Zpolymorphize=on", + "-Zalways-encode-mir", + // "-Cpasses=lint", + "-Zextra-const-ub-checks", + "--edition=2021", + "-Ztranslate-lang=en_US", + "-Zprint-type-sizes", + "-Zmaximal-hir-to-mir-coverage", + // "-Clto=off", // rustc_codegen_gcc + // "-Ztreat-err-as-bug=3", + "-Znext-solver=coherence", + "-Zrandomize-layout", + "-Zinline-mir=yes", + "-Zinline-mir-threshold=20", + "-Zpolonius=next", + "-Zlint-mir", + ], + // edition 2024 + &[ + /* "-Zsanitizer=cfi", + "-Clto", + "-Zsanitizer-cfi-normalize-integers", + "-Ccodegen-units=1", + "-ocodegen", + "-Cdebuginfo=2", + "-Copt-level=3",*/ + "-Zmir-opt-level=5", + "-Zvalidate-mir", + "-Zunstable-options", + "--edition=2024", + "-Zinline-mir=yes", + "-Zinline-mir-threshold=20", + "-Zinline-mir", + "-Zcross-crate-inline-threshold=always", + "-Zinline-mir-threshold=300", + "-Zlint-mir", + // need codegen + "-Zcodegen-backend=cranelift", + "-ocodegen", + // features + "-Zcrate-attr=feature(abi_vectorcall)", + "-Zcrate-attr=feature(anonymous_lifetime_in_impl_trait)", + "-Zcrate-attr=feature(generic_assert)", + "-Zcrate-attr=feature(lifetime_capture_rules_2024)", + "-Zcrate-attr=feature(link_cfg)", + "-Zcrate-attr=feature(multiple_supertrait_upcastable)", + "-Zcrate-attr=feature(with_negative_coherence)", + "-Zcrate-attr=feature(auto_traits)", + "-Zcrate-attr=feature(box_patterns)", + "-Zcrate-attr=feature(doc_notable_trait)", + "-Zcrate-attr=feature(dropck_eyepatch)", + "-Zcrate-attr=feature(fundamental)", + "-Zcrate-attr=feature(linkage)", + "-Zcrate-attr=feature(rustc_private)", + "-Zcrate-attr=feature(rustdoc_missing_doc_code_examples)", + "-Zcrate-attr=feature(start)", + "-Zcrate-attr=feature(structural_match)", + "-Zcrate-attr=feature(unboxed_closures)", + "-Zcrate-attr=feature(aarch64_ver_target_feature)", + "-Zcrate-attr=feature(arm_target_feature)", + "-Zcrate-attr=feature(avx512_target_feature)", + "-Zcrate-attr=feature(bpf_target_feature)", + "-Zcrate-attr=feature(csky_target_feature)", + "-Zcrate-attr=feature(ermsb_target_feature)", + "-Zcrate-attr=feature(hexagon_target_feature)", + "-Zcrate-attr=feature(loongarch_target_feature)", + "-Zcrate-attr=feature(mips_target_feature)", + "-Zcrate-attr=feature(powerpc_target_feature)", + "-Zcrate-attr=feature(riscv_target_feature)", + "-Zcrate-attr=feature(rtm_target_feature)", + "-Zcrate-attr=feature(sse4a_target_feature)", + "-Zcrate-attr=feature(tbm_target_feature)", + "-Zcrate-attr=feature(wasm_target_feature)", + "-Zcrate-attr=feature(abi_avr_interrupt)", + "-Zcrate-attr=feature(abi_c_cmse_nonsecure_call)", + "-Zcrate-attr=feature(abi_msp430_interrupt)", + "-Zcrate-attr=feature(abi_ptx)", + "-Zcrate-attr=feature(abi_riscv_interrupt)", + "-Zcrate-attr=feature(abi_x86_interrupt)", + "-Zcrate-attr=feature(alloc_error_handler)", + "-Zcrate-attr=feature(arbitrary_self_types)", + "-Zcrate-attr=feature(asm_const)", + "-Zcrate-attr=feature(asm_experimental_arch)", + "-Zcrate-attr=feature(asm_unwind)", + "-Zcrate-attr=feature(associated_const_equality)", + "-Zcrate-attr=feature(associated_type_defaults)", + "-Zcrate-attr=feature(async_closure)", + "-Zcrate-attr=feature(async_fn_traits)", + "-Zcrate-attr=feature(async_fn_track_caller)", + "-Zcrate-attr=feature(async_for_loop)", + "-Zcrate-attr=feature(builtin_syntax)", + "-Zcrate-attr=feature(c_unwind)", + "-Zcrate-attr=feature(c_variadic)", + "-Zcrate-attr=feature(cfg_overflow_checks)", + "-Zcrate-attr=feature(cfg_relocation_model)", + "-Zcrate-attr=feature(cfg_sanitize)", + "-Zcrate-attr=feature(cfg_sanitizer_cfi)", + "-Zcrate-attr=feature(cfg_target_compact)", + "-Zcrate-attr=feature(cfg_target_has_atomic)", + "-Zcrate-attr=feature(cfg_target_has_atomic_equal_alignment)", + "-Zcrate-attr=feature(cfg_target_thread_local)", + "-Zcrate-attr=feature(cfg_version)", + "-Zcrate-attr=feature(cfi_encoding)", + "-Zcrate-attr=feature(closure_lifetime_binder)", + "-Zcrate-attr=feature(closure_track_caller)", + "-Zcrate-attr=feature(cmse_nonsecure_entry)", + "-Zcrate-attr=feature(collapse_debuginfo)", + "-Zcrate-attr=feature(const_async_blocks)", + "-Zcrate-attr=feature(const_extern_fn)", + "-Zcrate-attr=feature(const_fn_floating_point_arithmetic)", + "-Zcrate-attr=feature(const_for)", + "-Zcrate-attr=feature(const_mut_refs)", + "-Zcrate-attr=feature(const_precise_live_drops)", + "-Zcrate-attr=feature(const_refs_to_cell)", + "-Zcrate-attr=feature(const_trait_impl)", + "-Zcrate-attr=feature(const_try)", + "-Zcrate-attr=feature(coroutine_clone)", + "-Zcrate-attr=feature(coroutines)", + "-Zcrate-attr=feature(coverage_attribute)", + "-Zcrate-attr=feature(custom_code_classes_in_docs)", + "-Zcrate-attr=feature(custom_inner_attributes)", + "-Zcrate-attr=feature(custom_test_frameworks)", + "-Zcrate-attr=feature(decl_macro)", + "-Zcrate-attr=feature(default_type_parameter_fallback)", + "-Zcrate-attr=feature(deprecated_safe)", + "-Zcrate-attr=feature(deprecated_suggestion)", + "-Zcrate-attr=feature(do_not_recommend)", + "-Zcrate-attr=feature(doc_auto_cfg)", + "-Zcrate-attr=feature(doc_cfg)", + "-Zcrate-attr=feature(doc_cfg_hide)", + "-Zcrate-attr=feature(doc_masked)", + "-Zcrate-attr=feature(effects)", + "-Zcrate-attr=feature(exclusive_range_pattern)", + "-Zcrate-attr=feature(exhaustive_patterns)", + "-Zcrate-attr=feature(extended_varargs_abi_support)", + "-Zcrate-attr=feature(extern_types)", + "-Zcrate-attr=feature(ffi_const)", + "-Zcrate-attr=feature(ffi_pure)", + "-Zcrate-attr=feature(fn_align)", + "-Zcrate-attr=feature(gen_blocks)", + "-Zcrate-attr=feature(generic_arg_infer)", + "-Zcrate-attr=feature(half_open_range_patterns_in_slices)", + "-Zcrate-attr=feature(if_let_guard)", + "-Zcrate-attr=feature(impl_trait_in_assoc_type)", + "-Zcrate-attr=feature(impl_trait_in_fn_trait_return)", + "-Zcrate-attr=feature(inline_const)", + "-Zcrate-attr=feature(intra_doc_pointers)", + "-Zcrate-attr=feature(large_assignments)", + "-Zcrate-attr=feature(let_chains)", + "-Zcrate-attr=feature(link_arg_attribute)", + "-Zcrate-attr=feature(lint_reasons)", + "-Zcrate-attr=feature(macro_metavar_expr)", + "-Zcrate-attr=feature(marker_trait_attr)", + "-Zcrate-attr=feature(min_specialization)", + "-Zcrate-attr=feature(more_qualified_paths)", + "-Zcrate-attr=feature(must_not_suspend)", + "-Zcrate-attr=feature(naked_functions)", + "-Zcrate-attr=feature(native_link_modifiers_as_needed)", + "-Zcrate-attr=feature(negative_impls)", + "-Zcrate-attr=feature(never_type)", + "-Zcrate-attr=feature(never_type_fallback)", + "-Zcrate-attr=feature(no_core)", + "-Zcrate-attr=feature(no_sanitize)", + "-Zcrate-attr=feature(non_exhaustive_omitted_patterns_lint)", + "-Zcrate-attr=feature(object_safe_for_dispatch)", + "-Zcrate-attr=feature(offset_of_enum)", + "-Zcrate-attr=feature(optimize_attribute)", + "-Zcrate-attr=feature(proc_macro_hygiene)", + "-Zcrate-attr=feature(raw_ref_op)", + "-Zcrate-attr=feature(register_tool)", + "-Zcrate-attr=feature(repr_simd)", + "-Zcrate-attr=feature(rust_cold_cc)", + "-Zcrate-attr=feature(simd_ffi)", + "-Zcrate-attr=feature(stmt_expr_attributes)", + "-Zcrate-attr=feature(strict_provenance)", + "-Zcrate-attr=feature(string_deref_patterns)", + "-Zcrate-attr=feature(target_feature_11)", + "-Zcrate-attr=feature(thread_local)", + "-Zcrate-attr=feature(trait_alias)", + "-Zcrate-attr=feature(transmute_generic_consts)", + "-Zcrate-attr=feature(transparent_unions)", + "-Zcrate-attr=feature(trivial_bounds)", + "-Zcrate-attr=feature(try_blocks)", + "-Zcrate-attr=feature(type_alias_impl_trait)", + "-Zcrate-attr=feature(type_ascription)", + "-Zcrate-attr=feature(type_changing_struct_update)", + "-Zcrate-attr=feature(type_privacy_lints)", + "-Zcrate-attr=feature(unix_sigpipe)", + "-Zcrate-attr=feature(unsized_fn_params)", + "-Zcrate-attr=feature(unsized_tuple_coercion)", + "-Zcrate-attr=feature(used_with_arg)", + "-Zcrate-attr=feature(wasm_abi)", + "-Zcrate-attr=feature(yeet_expr)", + "-Zcrate-attr=feature(const_refs_to_static)", + "-Zcrate-attr=feature(unnamed_fields)", + "-Clink-dead-code=true", + "-Zverify-llvm-ir=yes", + ], + &["-Zmir-opt-level=0", "-ocodegen", "-Zverify-llvm-ir=yes"], + &[ + "-Copt-level=3", + "-Zmir-opt-level=0", + "-ocodegen", + "-Zverify-llvm-ir=yes", + ], + &[ + "-Copt-level=0", + "-Zmir-opt-level=5", + "-ocodegen", + "-Zverify-llvm-ir=yes", + ], + // incremental compilation, keep this! + &["INCR_COMP"], + // &["-Zborrowck=mir", "-Zcrate-attr=feature(nll)"], + // temporary disable these for more throughput... haven't found new bugs with these in a long time + + // Zunprettty etc cant be combined unfortunately + &["-Zinstrument-xray", "-Cdebuginfo=2", "-ocodeggen"], + &["-Cinstrument-coverage", "-ocodegen"], + &["-Cprofile-generate=/tmp/icemaker_pgo/", "-ocodegen"], + &["-Copt-level=z", "-ocodegen"], + &["-Zunpretty=normal"], + &["-Zunpretty=identified"], + &["-Zunpretty=expanded"], + &["-Zunpretty=expanded,identified"], + &["-Zunpretty=ast-tree"], + &["-Zunpretty=ast-tree,expanded"], + &["-Zunpretty=hir"], + &["-Zunpretty=hir,identified"], + &["-Zunpretty=hir-tree"], + &["-Zunpretty=thir-tree"], + &["-Zunpretty=hir,typed"], + &["-Zunpretty=expanded,hygiene"], + &["-Zunpretty=mir"], + &["-Zunpretty=stable-mir"], + &["-Zunpretty=mir-cfg"], + &["-Zdump-mir=all", "-Zdump-mir-dataflow"], + // Sanitizers + &[ + "-Zunstable-options", "-Zmir-opt-level=3", "-Cdebuginfo=2", "-Copt-level=3", "-Zsanitizer=address", "-Clto", "-ocodegen", + "-Zverify-llvm-ir=yes", ], &[ "-Zmir-opt-level=3", @@ -1280,37 +1702,40 @@ static EXPENSIVE_RUSTFLAGS: &[&[&str]] = &[ "-Ccodegen-units=1", "-Clto", "-ocodegen", - "-Zsanitizer-cfi-normalize-integers", + "-Zsanitizer-cfi-normalize-integers=yes", + "-Zsanitizer-cfi-generalize-pointers=yes", + "-Zsanitizer-cfi-canonical-jump-tables=yes", + "-Zverify-llvm-ir=yes", ], &[ "-Zunstable-options", - "-Zvalidate-mir", "-Zmir-opt-level=3", "-Cdebuginfo=2", "-Copt-level=3", "-Zsanitizer=leak", "-Clto", "-ocodegen", + "-Zverify-llvm-ir=yes", ], &[ "-Zunstable-options", - "-Zvalidate-mir", "-Zmir-opt-level=3", "-Cdebuginfo=2", "-Copt-level=3", "-Zsanitizer=memory", "-Clto", "-ocodegen", + "-Zverify-llvm-ir=yes", ], &[ "-Zunstable-options", - "-Zvalidate-mir", "-Zmir-opt-level=3", "-Cdebuginfo=2", "-Copt-level=3", "-Zsanitizer=thread", "-Clto", "-ocodegen", + "-Zverify-llvm-ir=yes", ], &[ "-Zunstable-options", @@ -1319,6 +1744,7 @@ static EXPENSIVE_RUSTFLAGS: &[&[&str]] = &[ "--crate-type=bin", "-Copt-level=3", "-ocodegen", + "-Zverify-llvm-ir=yes", ], &[ "-Zunstable-options", @@ -1327,6 +1753,7 @@ static EXPENSIVE_RUSTFLAGS: &[&[&str]] = &[ "--crate-type=lib", "-Copt-level=3", "-ocodegen", + "-Zverify-llvm-ir=yes", ], // chalk is not ready yet, but polonius? /* @@ -3467,967 +3894,251 @@ static EXPENSIVE_RUSTFLAGS: &[&[&str]] = &[ "-Clto", ], &[ - "-Ctarget-feature=-pku", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-prefer-128-bit", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-prefer-256-bit", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-prefer-mask-registers", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-prefetchwt1", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-prfchw", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-ptwrite", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-rdpid", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-rdpru", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-retpoline", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-retpoline-external-thunk", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-retpoline-indirect-branches", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-retpoline-indirect-calls", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-sahf", - "-ocodegen", - "-Copt-level=3", - "-Clto", - ], - &[ - "-Ctarget-feature=-sbb-dep-breaking", + "-Ctarget-feature=-pku", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-serialize", + "-Ctarget-feature=-prefer-128-bit", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-seses", + "-Ctarget-feature=-prefer-256-bit", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-sgx", + "-Ctarget-feature=-prefer-mask-registers", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-shstk", + "-Ctarget-feature=-prefetchwt1", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-slow-3ops-lea", + "-Ctarget-feature=-prfchw", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-slow-incdec", + "-Ctarget-feature=-ptwrite", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-slow-lea", + "-Ctarget-feature=-rdpid", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-slow-pmaddwd", + "-Ctarget-feature=-rdpru", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-slow-pmulld", + "-Ctarget-feature=-retpoline", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-slow-shld", + "-Ctarget-feature=-retpoline-external-thunk", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-slow-two-mem-ops", + "-Ctarget-feature=-retpoline-indirect-branches", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-slow-unaligned-mem-16", + "-Ctarget-feature=-retpoline-indirect-calls", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-slow-unaligned-mem-32", + "-Ctarget-feature=-sahf", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-soft-float", + "-Ctarget-feature=-sbb-dep-breaking", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-sse-unaligned-mem", + "-Ctarget-feature=-serialize", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-tagged-globals", + "-Ctarget-feature=-seses", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-tsxldtrk", + "-Ctarget-feature=-sgx", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-uintr", + "-Ctarget-feature=-shstk", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-use-glm-div-sqrt-costs", + "-Ctarget-feature=-slow-3ops-lea", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-use-slm-arith-costs", + "-Ctarget-feature=-slow-incdec", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-vzeroupper", + "-Ctarget-feature=-slow-lea", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-waitpkg", + "-Ctarget-feature=-slow-pmaddwd", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-wbnoinvd", + "-Ctarget-feature=-slow-pmulld", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-widekl", + "-Ctarget-feature=-slow-shld", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-x87", + "-Ctarget-feature=-slow-two-mem-ops", "-ocodegen", "-Copt-level=3", "-Clto", ], &[ - "-Ctarget-feature=-xop", + "-Ctarget-feature=-slow-unaligned-mem-16", "-ocodegen", "-Copt-level=3", "-Clto", - ], */ - - /* - &[ - "-Zcrate-attr=feature(absolute_path)", - "-Zcrate-attr=feature(addr_parse_ascii)", - "-Zcrate-attr=feature(allocator_api)", - "-Zcrate-attr=feature(alloc_error_handler)", - "-Zcrate-attr=feature(alloc_error_hook)", - "-Zcrate-attr=feature(alloc_internals)", - "-Zcrate-attr=feature(alloc_layout_extra)", - "-Zcrate-attr=feature(arc_into_inner)", - "-Zcrate-attr=feature(arc_unwrap_or_clone)", - "-Zcrate-attr=feature(array_chunks)", - "-Zcrate-attr=feature(array_into_iter_constructors)", - "-Zcrate-attr=feature(array_methods)", - "-Zcrate-attr=feature(array_try_from_fn)", - "-Zcrate-attr=feature(array_try_map)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", - ], - &[ - "-Zcrate-attr=feature(array_windows)", - "-Zcrate-attr=feature(array_zip)", - "-Zcrate-attr=feature(as_array_of_cells)", - "-Zcrate-attr=feature(assert_matches)", - "-Zcrate-attr=feature(async_iterator)", - "-Zcrate-attr=feature(async_iter_from_iter)", - "-Zcrate-attr=feature(atomic_bool_fetch_not)", - "-Zcrate-attr=feature(atomic_from_mut)", - "-Zcrate-attr=feature(atomic_mut_ptr)", - "-Zcrate-attr=feature(backtrace_frames)", - "-Zcrate-attr=feature(bigint_helper_methods)", - "-Zcrate-attr=feature(binary_heap_as_slice)", - "-Zcrate-attr=feature(binary_heap_drain_sorted)", - "-Zcrate-attr=feature(binary_heap_into_iter_sorted)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", - ], - &[ - "-Zcrate-attr=feature(binary_heap_retain)", - "-Zcrate-attr=feature(bound_as_ref)", - "-Zcrate-attr=feature(bound_map)", - "-Zcrate-attr=feature(box_into_boxed_slice)", - "-Zcrate-attr=feature(box_into_inner)", - "-Zcrate-attr=feature(btree_cursors)", - "-Zcrate-attr=feature(btree_drain_filter)", - "-Zcrate-attr=feature(btreemap_alloc)", - "-Zcrate-attr=feature(buf_read_has_data_left)", - "-Zcrate-attr=feature(build_hasher_simple_hash_one)", - "-Zcrate-attr=feature(byte_slice_trim_ascii)", - "-Zcrate-attr=feature(can_vector)", - "-Zcrate-attr=feature(cell_leak)", - "-Zcrate-attr=feature(cell_update)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", - ], - &[ - "-Zcrate-attr=feature(char_indices_offset)", - "-Zcrate-attr=feature(char_internals)", - "-Zcrate-attr=feature(coerce_unsized)", - "-Zcrate-attr=feature(concat_bytes)", - "-Zcrate-attr=feature(const_format_args)", - "-Zcrate-attr=feature(const_raw_ptr_comparison)", - "-Zcrate-attr=feature(const_trait_impl)", - "-Zcrate-attr=feature(control_flow_enum)", - "-Zcrate-attr=feature(convert_float_to_int)", - "-Zcrate-attr=feature(cow_is_borrowed)", - "-Zcrate-attr=feature(c_size_t)", - "-Zcrate-attr=feature(cstr_is_empty)", - "-Zcrate-attr=feature(c_unwind)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", - ], - &[ - "-Zcrate-attr=feature(cursor_remaining)", - "-Zcrate-attr=feature(deadline_api)", - "-Zcrate-attr=feature(default_free_fn)", - "-Zcrate-attr=feature(derive_const)", - "-Zcrate-attr=feature(derive_eq)", - "-Zcrate-attr=feature(dir_entry_ext2)", - "-Zcrate-attr=feature(dispatch_from_dyn)", - "-Zcrate-attr=feature(div_duration)", - "-Zcrate-attr=feature(downcast_unchecked)", - "-Zcrate-attr=feature(drain_filter)", - "-Zcrate-attr=feature(drain_keep_rest)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", - ], - &[ - "-Zcrate-attr=feature(duration_constants)", - "-Zcrate-attr=feature(edition_panic)", - "-Zcrate-attr=feature(entry_insert)", - "-Zcrate-attr=feature(error_generic_member_access)", - "-Zcrate-attr=feature(error_iter)", - "-Zcrate-attr=feature(error_reporter)", - "-Zcrate-attr=feature(error_type_id)", - "-Zcrate-attr=feature(exact_size_is_empty)", - "-Zcrate-attr=feature(exclusive_wrapper)", - "-Zcrate-attr=feature(exitcode_exit_method)", - "-Zcrate-attr=feature(exit_status_error)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", - ], - &[ - "-Zcrate-attr=feature(extend_one)", - "-Zcrate-attr=feature(file_create_new)", - "-Zcrate-attr=feature(file_set_times)", - "-Zcrate-attr=feature(float_minimum_maximum)", - "-Zcrate-attr=feature(float_next_up_down)", - "-Zcrate-attr=feature(fmt_helpers_for_derive)", - "-Zcrate-attr=feature(fmt_internals)", - "-Zcrate-attr=feature(fn_traits)", - "-Zcrate-attr=feature(forget_unsized)", - "-Zcrate-attr=feature(fs_try_exists)", - "-Zcrate-attr=feature(future_join)", - "-Zcrate-attr=feature(coroutine_trait)", - "-Zcrate-attr=feature(generic_assert_internals)", - "-Zcrate-attr=feature(gen_future)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", - ], - &[ - "-Zcrate-attr=feature(get_many_mut)", - "-Zcrate-attr=feature(get_mut_unchecked)", - "-Zcrate-attr=feature(hash_drain_filter)", - "-Zcrate-attr=feature(hasher_prefixfree_extras)", - "-Zcrate-attr=feature(hashmap_internals)", - "-Zcrate-attr=feature(hash_raw_entry)", - "-Zcrate-attr=feature(hash_set_entry)", - "-Zcrate-attr=feature(hint_must_use)", - "-Zcrate-attr=feature(inplace_iteration)", - "-Zcrate-attr=feature(integer_atomics)", - "-Zcrate-attr=feature(internal_output_capture)", - "-Zcrate-attr=feature(int_roundings)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", - ], - &[ - "-Zcrate-attr=feature(io_error_downcast)", - "-Zcrate-attr=feature(io_error_more)", - "-Zcrate-attr=feature(io_error_other)", - "-Zcrate-attr=feature(io_error_uncategorized)", - "-Zcrate-attr=feature(io_slice_advance)", - "-Zcrate-attr=feature(ip)", - "-Zcrate-attr=feature(is_ascii_octdigit)", - "-Zcrate-attr=feature(is_some_and)", - "-Zcrate-attr=feature(is_sorted)", - "-Zcrate-attr=feature(is_terminal)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", - ], - &[ - "-Zcrate-attr=feature(iter_advance_by)", - "-Zcrate-attr=feature(iter_array_chunks)", - "-Zcrate-attr=feature(iterator_try_collect)", - "-Zcrate-attr=feature(iterator_try_reduce)", - "-Zcrate-attr=feature(iter_collect_into)", - "-Zcrate-attr=feature(iter_from_generator)", - "-Zcrate-attr=feature(iter_intersperse)", - "-Zcrate-attr=feature(iter_is_partitioned)", - "-Zcrate-attr=feature(iter_next_chunk)", - "-Zcrate-attr=feature(iter_order_by)", - "-Zcrate-attr=feature(iter_partition_in_place)", - "-Zcrate-attr=feature(iter_repeat_n)", - "-Zcrate-attr=feature(layout_for_ptr)", - "-Zcrate-attr=feature(liballoc_internals)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", ], &[ - "-Zcrate-attr=feature(libstd_sys_internals)", - "-Zcrate-attr=feature(libstd_thread_internals)", - "-Zcrate-attr=feature(linked_list_cursors)", - "-Zcrate-attr=feature(linked_list_remove)", - "-Zcrate-attr=feature(linux_pidfd)", - "-Zcrate-attr=feature(local_key_cell_methods)", - "-Zcrate-attr=feature(map_entry_replace)", - "-Zcrate-attr=feature(map_many_mut)", - "-Zcrate-attr=feature(map_try_insert)", - "-Zcrate-attr=feature(maybe_uninit_array_assume_init)", - "-Zcrate-attr=feature(maybe_uninit_as_bytes)", - "-Zcrate-attr=feature(maybe_uninit_slice)", - "-Zcrate-attr=feature(maybe_uninit_uninit_array)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-slow-unaligned-mem-32", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(maybe_uninit_uninit_array_transpose)", - "-Zcrate-attr=feature(maybe_uninit_write_slice)", - "-Zcrate-attr=feature(mem_copy_fn)", - "-Zcrate-attr=feature(mutex_unlock)", - "-Zcrate-attr=feature(mutex_unpoison)", - "-Zcrate-attr=feature(never_type)", - "-Zcrate-attr=feature(new_uninit)", - "-Zcrate-attr=feature(nonnull_slice_from_raw_parts)", - "-Zcrate-attr=feature(nonzero_min_max)", - "-Zcrate-attr=feature(nonzero_negation_ops)", - "-Zcrate-attr=feature(nonzero_ops)", - "-Zcrate-attr=feature(one_sided_range)", - "-Zcrate-attr=feature(option_get_or_insert_default)", - "-Zcrate-attr=feature(option_result_contains)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-soft-float", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(option_zip)", - "-Zcrate-attr=feature(panic_always_abort)", - "-Zcrate-attr=feature(panic_backtrace_config)", - "-Zcrate-attr=feature(panic_can_unwind)", - "-Zcrate-attr=feature(panic_info_message)", - "-Zcrate-attr=feature(panic_update_hook)", - "-Zcrate-attr=feature(path_as_mut_os_str)", - "-Zcrate-attr=feature(path_file_prefix)", - "-Zcrate-attr=feature(peer_credentials_unix_socket)", - "-Zcrate-attr=feature(pin_deref_mut)", - "-Zcrate-attr=feature(pointer_byte_offsets)", - "-Zcrate-attr=feature(pointer_is_aligned)", - "-Zcrate-attr=feature(pointer_like_trait)", - "-Zcrate-attr=feature(poll_ready)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-sse-unaligned-mem", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(portable_simd)", - "-Zcrate-attr=feature(prelude_2024)", - "-Zcrate-attr=feature(print_internals)", - "-Zcrate-attr=feature(provide_any)", - "-Zcrate-attr=feature(ptr_alignment_type)", - "-Zcrate-attr=feature(ptr_as_uninit)", - "-Zcrate-attr=feature(ptr_from_ref)", - "-Zcrate-attr=feature(ptr_internals)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-tagged-globals", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(ptr_mask)", - "-Zcrate-attr=feature(ptr_metadata)", - "-Zcrate-attr=feature(ptr_sub_ptr)", - "-Zcrate-attr=feature(ptr_to_from_bits)", - "-Zcrate-attr=feature(pub_crate_should_not_need_unstable_attr)", - "-Zcrate-attr=feature(raw_os_error_ty)", - "-Zcrate-attr=feature(raw_os_nonzero)", - "-Zcrate-attr=feature(raw_slice_split)", - "-Zcrate-attr=feature(read_buf)", - "-Zcrate-attr=feature(ready_into_inner)", - "-Zcrate-attr=feature(receiver_trait)", - "-Zcrate-attr=feature(restricted_std)", - "-Zcrate-attr=feature(result_contains_err)", - "-Zcrate-attr=feature(result_flattening)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-tsxldtrk", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(result_option_inspect)", - "-Zcrate-attr=feature(round_char_boundary)", - "-Zcrate-attr=feature(saturating_int_assign_impl)", - "-Zcrate-attr=feature(saturating_int_impl)", - "-Zcrate-attr=feature(sealed)", - "-Zcrate-attr=feature(seek_stream_len)", - "-Zcrate-attr=feature(setgroups)", - "-Zcrate-attr=feature(set_ptr_value)", - "-Zcrate-attr=feature(sized_type_properties)", - "-Zcrate-attr=feature(slice_as_chunks)", - "-Zcrate-attr=feature(slice_concat_ext)", - "-Zcrate-attr=feature(slice_concat_trait)", - "-Zcrate-attr=feature(slice_flatten)", - "-Zcrate-attr=feature(slice_from_ptr_range)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-uintr", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(slice_group_by)", - "-Zcrate-attr=feature(slice_index_methods)", - "-Zcrate-attr=feature(slice_iter_mut_as_mut_slice)", - "-Zcrate-attr=feature(slice_partition_dedup)", - "-Zcrate-attr=feature(slice_pattern)", - "-Zcrate-attr=feature(slice_ptr_get)", - "-Zcrate-attr=feature(slice_ptr_len)", - "-Zcrate-attr=feature(slice_range)", - "-Zcrate-attr=feature(slice_split_at_unchecked)", - "-Zcrate-attr=feature(slice_swap_unchecked)", - "-Zcrate-attr=feature(slice_take)", - "-Zcrate-attr=feature(sort_floats)", - "-Zcrate-attr=feature(sort_internals)", - "-Zcrate-attr=feature(spec_option_partial_eq)", - "-Zcrate-attr=feature(split_array)", - "-Zcrate-attr=feature(split_as_slice)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-use-glm-div-sqrt-costs", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(std_internals)", - "-Zcrate-attr=feature(stdio_makes_pipe)", - "-Zcrate-attr=feature(stdsimd)", - "-Zcrate-attr=feature(step_trait)", - "-Zcrate-attr=feature(strict_provenance)", - "-Zcrate-attr=feature(strict_provenance_atomic_ptr)", - "-Zcrate-attr=feature(string_extend_from_within)", - "-Zcrate-attr=feature(string_leak)", - "-Zcrate-attr=feature(string_remove_matches)", - "-Zcrate-attr=feature(str_internals)", - "-Zcrate-attr=feature(str_split_inclusive_remainder)", - "-Zcrate-attr=feature(str_split_remainder)", - "-Zcrate-attr=feature(str_split_whitespace_remainder)", - "-Zcrate-attr=feature(structural_match)", - "-Zcrate-attr=feature(sync_unsafe_cell)", - "-Zcrate-attr=feature(tcp_linger)", - "-Zcrate-attr=feature(tcplistener_into_incoming)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-use-slm-arith-costs", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(tcp_quickack)", - "-Zcrate-attr=feature(thin_box)", - "-Zcrate-attr=feature(thread_id_value)", - "-Zcrate-attr=feature(thread_local_internals)", - "-Zcrate-attr=feature(thread_spawn_unchecked)", - "-Zcrate-attr=feature(transmutability)", - "-Zcrate-attr=feature(trusted_len)", - "-Zcrate-attr=feature(trusted_len_next_unchecked)", - "-Zcrate-attr=feature(trusted_random_access)", - "-Zcrate-attr=feature(trusted_step)", - "-Zcrate-attr=feature(try_find)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-vzeroupper", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(try_reserve_kind)", - "-Zcrate-attr=feature(try_trait_v2)", - "-Zcrate-attr=feature(try_trait_v2_residual)", - "-Zcrate-attr=feature(try_trait_v2_yeet)", - "-Zcrate-attr=feature(tuple_trait)", - "-Zcrate-attr=feature(type_name_of_val)", - "-Zcrate-attr=feature(unix_chown)", - "-Zcrate-attr=feature(unix_set_mark)", - "-Zcrate-attr=feature(unix_socket_abstract)", - "-Zcrate-attr=feature(unix_socket_ancillary_data)", - "-Zcrate-attr=feature(unix_socket_peek)", - "-Zcrate-attr=feature(unsafe_pin_internals)", - "-Zcrate-attr=feature(unsize)", - "-Zcrate-attr=feature(unwrap_infallible)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-waitpkg", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(update_panic_count)", - "-Zcrate-attr=feature(utf16_extra)", - "-Zcrate-attr=feature(utf8_chunks)", - "-Zcrate-attr=feature(variant_count)", - "-Zcrate-attr=feature(vec_into_raw_parts)", - "-Zcrate-attr=feature(vec_push_within_capacity)", - "-Zcrate-attr=feature(vec_split_at_spare)", - "-Zcrate-attr=feature(waker_getters)", - "-Zcrate-attr=feature(wrapping_int_impl)", - "-Zcrate-attr=feature(wrapping_next_power_of_two)", - "-Zcrate-attr=feature(write_all_vectored)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-wbnoinvd", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], &[ - "-Zcrate-attr=feature(non_lifetime_binders)", - "-Zcrate-attr=feature(rust_cold_cc)", - "-Zcrate-attr=feature(string_deref_patterns)", - "-Zcrate-attr=feature(yeet_expr)", - "-Zcrate-attr=feature(impl_trait_in_fn_trait_return)", - "-Zcrate-attr=feature(impl_trait_projections)", - "-Zcrate-attr=feature(half_open_range_patterns_in_slices)", - "-Zcrate-attr=feature(coroutine_clone)", - "-Zcrate-attr=feature(extended_varargs_abi_support)", - "-Zcrate-attr=feature(dyn_star)", - "-Zcrate-attr=feature(do_not_recommend)", - "-Zcrate-attr=feature(debugger_visualizer)", - "-Zcrate-attr=feature(const_closures)", - "-Zcrate-attr=feature(collapse_debuginfo)", - "-Zcrate-attr=feature(closure_lifetime_binder)", - "-Zcrate-attr=feature(cfg_target_compact)", - "-Zcrate-attr=feature(rustdoc_missing_doc_code_examples)", - "-Zcrate-attr=feature(packed_bundled_libs)", - "-Zcrate-attr=feature(multiple_supertrait_upcastable)", - "-Zcrate-attr=feature(anonymous_lifetime_in_impl_trait)", - "-Zcrate-attr=feature(custom_mir)", - "-Zcrate-attr=feature(generic_assert)", - "-Zstrict-init-checks=yes", - "-Zrandomize-layout", - "-Zunstable-options", - "-Zvalidate-mir", - "-Zverify-llvm-ir=yes", - "-Zincremental-verify-ich=yes", - "-Zmir-opt-level=5", - "-Zunsound-mir-opts", - "-Zdump-mir=all", - "--emit=mir", - "-Zprint-mono-items=eager", - "-Zpolymorphize=on", - "-Zalways-encode-mir", - // "-Cpasses=lint", - "-Zverbose", - "-Zextra-const-ub-checks", - "--edition=2021", + "-Ctarget-feature=-widekl", + "-ocodegen", + "-Copt-level=3", + "-Clto", + ], + &[ + "-Ctarget-feature=-x87", + "-ocodegen", + "-Copt-level=3", + "-Clto", ], - */ + &[ + "-Ctarget-feature=-xop", + "-ocodegen", + "-Copt-level=3", + "-Clto", + ], */ ]; pub(crate) static RUSTC_FLAGS: Lazy<&[&[&str]]> = Lazy::new(|| {