Skip to content

Commit 6f2ca60

Browse files
committed
Auto merge of #135183 - jhpratt:rollup-qwg4pm0, r=jhpratt
Rollup of 9 pull requests Successful merges: - #131830 (Add support for wasm exception handling to Emscripten target) - #132345 (Improve diagnostics for `HostEffectPredicate` in the new solver) - #134568 (Release notes for 1.84.0) - #134744 (Don't ice on bad transmute in typeck in new solver) - #135090 (Suggest to replace tuple constructor through projection) - #135116 (rustdoc: Fix mismatched capitalization in sidebar) - #135126 (mark deprecated option as deprecated in rustc_session to remove copypasta and small refactor) - #135139 ([generic_assert] Constify methods used by the formatting system) - #135170 (Update triagebot.toml: celinval vacation is over) r? `@ghost` `@rustbot` modify labels: rollup
2 parents 0f1e965 + ee55b34 commit 6f2ca60

File tree

60 files changed

+812
-123
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+812
-123
lines changed

RELEASES.md

+116
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,119 @@
1+
Version 1.84.0 (2025-01-09)
2+
==========================
3+
4+
<a id="
5+
Language"></a>
6+
7+
Language
8+
--------
9+
- [Allow `#[deny]` inside `#[forbid]` as a no-op](https://github.com/rust-lang/rust/pull/121560/)
10+
- [Show a warning when `-Ctarget-feature` is used to toggle features that can lead to unsoundness due to ABI mismatches](https://github.com/rust-lang/rust/pull/129884)
11+
- [Use the next-generation trait solver in coherence](https://github.com/rust-lang/rust/pull/130654)
12+
- [Allow coercions to drop the principal of trait objects](https://github.com/rust-lang/rust/pull/131857)
13+
- [Support `/` as the path separator for `include!()` in all cases on Windows](https://github.com/rust-lang/rust/pull/125205)
14+
- [Taking a raw ref (`raw (const|mut)`) of a deref of a pointer (`*ptr`) is now safe](https://github.com/rust-lang/rust/pull/129248)
15+
- [Stabilize s390x inline assembly](https://github.com/rust-lang/rust/pull/131258)
16+
- [Stabilize Arm64EC inline assembly](https://github.com/rust-lang/rust/pull/131781)
17+
- [Lint against creating pointers to immediately dropped temporaries](https://github.com/rust-lang/rust/pull/128985)
18+
- [Execute drop glue when unwinding in an `extern "C"` function](https://github.com/rust-lang/rust/pull/129582)
19+
20+
<a id="1.84.0-Compiler"></a>
21+
22+
Compiler
23+
--------
24+
- [Add `--print host-tuple` flag to print the host target tuple and affirm the "target tuple" terminology over "target triple"](https://github.com/rust-lang/rust/pull/125579)
25+
- [Declaring functions with a calling convention not supported on the current target now triggers a hard error](https://github.com/rust-lang/rust/pull/129935)
26+
- [Set up indirect access to external data for `loongarch64-unknown-linux-{musl,ohos}`](https://github.com/rust-lang/rust/pull/131583)
27+
- [Enable XRay instrumentation for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/131818)
28+
- [Extend the `unexpected_cfgs` lint to also warn in external macros](https://github.com/rust-lang/rust/pull/132577)
29+
- [Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features](https://github.com/rust-lang/rust/pull/131080)
30+
- [Added Tier 2 support for the `wasm32v1-none` target](https://github.com/rust-lang/rust/pull/131487)
31+
32+
<a id="1.84.0-Libraries"></a>
33+
34+
Libraries
35+
---------
36+
- [Implement `From<&mut {slice}>` for `Box/Rc/Arc<{slice}>`](https://github.com/rust-lang/rust/pull/129329)
37+
- [Move `<float>::copysign`, `<float>::abs`, `<float>::signum` to `core`](https://github.com/rust-lang/rust/pull/131304)
38+
- [Add `LowerExp` and `UpperExp` implementations to `NonZero`](https://github.com/rust-lang/rust/pull/131377)
39+
- [Implement `FromStr` for `CString` and `TryFrom<CString>` for `String`](https://github.com/rust-lang/rust/pull/130608)
40+
- [`std::os::darwin` has been made public](https://github.com/rust-lang/rust/pull/130635)
41+
42+
<a id="1.84.0-Stabilized-APIs"></a>
43+
44+
Stabilized APIs
45+
---------------
46+
47+
- [`Ipv6Addr::is_unique_local`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.is_unique_local)
48+
- [`Ipv6Addr::is_unicast_link_local`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.is_unicast_link_local)
49+
- [`core::ptr::with_exposed_provenance`](https://doc.rust-lang.org/stable/core/ptr/fn.with_exposed_provenance.html)
50+
- [`core::ptr::with_exposed_provenance_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.with_exposed_provenance_mut.html)
51+
- [`<ptr>::addr`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.addr)
52+
- [`<ptr>::expose_provenance`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.expose_provenance)
53+
- [`<ptr>::with_addr`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.with_addr)
54+
- [`<ptr>::map_addr`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.map_addr)
55+
- [`<int>::isqrt`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.isqrt)
56+
- [`<int>::checked_isqrt`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.checked_isqrt)
57+
- [`<uint>::isqrt`](https://doc.rust-lang.org/stable/core/primitive.u32.html#method.isqrt)
58+
- [`NonZero::isqrt`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html#impl-NonZero%3Cu128%3E/method.isqrt)
59+
- [`core::ptr::without_provenance`](https://doc.rust-lang.org/stable/core/ptr/fn.without_provenance.html)
60+
- [`core::ptr::without_provenance_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.without_provenance_mut.html)
61+
- [`core::ptr::dangling`](https://doc.rust-lang.org/stable/core/ptr/fn.dangling.html)
62+
- [`core::ptr::dangling_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.dangling_mut.html)
63+
64+
These APIs are now stable in const contexts
65+
66+
- [`AtomicBool::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicBool.html#method.from_ptr)
67+
- [`AtomicPtr::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicPtr.html#method.from_ptr)
68+
- [`AtomicU8::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU8.html#method.from_ptr)
69+
- [`AtomicU16::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU16.html#method.from_ptr)
70+
- [`AtomicU32::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU32.html#method.from_ptr)
71+
- [`AtomicU64::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU64.html#method.from_ptr)
72+
- [`AtomicUsize::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.from_ptr)
73+
- [`AtomicI8::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI8.html#method.from_ptr)
74+
- [`AtomicI16::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI16.html#method.from_ptr)
75+
- [`AtomicI32::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI32.html#method.from_ptr)
76+
- [`AtomicI64::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI64.html#method.from_ptr)
77+
- [`AtomicIsize::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicIsize.html#method.from_ptr)
78+
- [`<ptr>::is_null`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_null-1)
79+
- [`<ptr>::as_ref`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.as_ref-1)
80+
- [`<ptr>::as_mut`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.as_mut)
81+
- [`Pin::new`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.new)
82+
- [`Pin::new_unchecked`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.new_unchecked)
83+
- [`Pin::get_ref`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_ref)
84+
- [`Pin::into_ref`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.into_ref)
85+
- [`Pin::get_mut`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_mut)
86+
- [`Pin::get_unchecked_mut`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_unchecked_mut)
87+
- [`Pin::static_ref`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.static_ref)
88+
- [`Pin::static_mut`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.static_mut)
89+
90+
<a id="1.84.0-Cargo"></a>
91+
92+
Cargo
93+
-----
94+
- [Stabilize MSRV-aware resolver config](https://github.com/rust-lang/cargo/pull/14639/)
95+
- [Stabilize resolver v3](https://github.com/rust-lang/cargo/pull/14754/)
96+
97+
<a id="1.84-Rustdoc"></a>
98+
99+
Rustdoc
100+
-------
101+
102+
- [rustdoc-search: improve type-driven search](https://github.com/rust-lang/rust/pull/127589)
103+
104+
<a id="1.84.0-Compatibility-Notes"></a>
105+
106+
Compatibility Notes
107+
-------------------
108+
- [Enable by default the `LSX` target feature for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/132140)
109+
- [The unstable `-Zprofile` flag (“gcov-style” coverage instrumentation) has been removed.](https://github.com/rust-lang/rust/pull/131829) This does not affect the stable flags for coverage instrumentation (`-Cinstrument-coverage`) and profile-guided optimization (`-Cprofile-generate`, `-Cprofile-use`), which are unrelated and remain available.
110+
- Support for the target named `wasm32-wasi` has been removed as the target is now named `wasm32-wasip1`. This completes the [transition](https://github.com/rust-lang/compiler-team/issues/607) [plan](https://github.com/rust-lang/compiler-team/issues/695) for this target following [the introduction of `wasm32-wasip1`](https://github.com/rust-lang/rust/pull/120468) in Rust 1.78. Compiler warnings on [use of `wasm32-wasi`](https://github.com/rust-lang/rust/pull/126662) introduced in Rust 1.81 are now gone as well as the target is removed.
111+
- [The syntax `&pin (mut|const) T` is now parsed as a type which in theory could affect macro expansion results in some edge cases](https://github.com/rust-lang/rust/pull/130635#issuecomment-2375462821)
112+
- [Legacy syntax for calling `std::arch` functions is no longer permitted to declare items or bodies (such as closures, inline consts, or async blocks).](https://github.com/rust-lang/rust/pull/130443#issuecomment-2445678945)
113+
- The `wasm32-unknown-emscripten` target's binary release of the standard library is now [built with the latest emsdk 3.1.68](https://github.com/rust-lang/rust/pull/131533), which fixes an ABI-incompatibility with Emscripten >= 3.1.42. If you are locally using a version of emsdk with an incompatible ABI (e.g. before 3.1.42 or a future one), you should build your code with `-Zbuild-std` to ensure that `std` uses the correct ABI.
114+
- [Declaring functions with a calling convention not supported on the current target now triggers a hard error](https://github.com/rust-lang/rust/pull/129935)
115+
- [The next-generation trait solver is now enabled for coherence, fixing multiple soundness issues](https://github.com/rust-lang/rust/pull/130654)
116+
1117
Version 1.83.0 (2024-11-28)
2118
==========================
3119

compiler/rustc_codegen_llvm/src/llvm_util.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,10 @@ unsafe fn configure_llvm(sess: &Session) {
109109
add("-wasm-enable-eh", false);
110110
}
111111

112-
if sess.target.os == "emscripten" && sess.panic_strategy() == PanicStrategy::Unwind {
112+
if sess.target.os == "emscripten"
113+
&& !sess.opts.unstable_opts.emscripten_wasm_eh
114+
&& sess.panic_strategy() == PanicStrategy::Unwind
115+
{
113116
add("-enable-emscripten-cxx-exceptions", false);
114117
}
115118

compiler/rustc_codegen_ssa/src/back/link.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -2451,10 +2451,12 @@ fn add_order_independent_options(
24512451
}
24522452

24532453
if sess.target.os == "emscripten" {
2454-
cmd.cc_arg("-s").cc_arg(if sess.panic_strategy() == PanicStrategy::Abort {
2455-
"DISABLE_EXCEPTION_CATCHING=1"
2454+
cmd.cc_arg(if sess.panic_strategy() == PanicStrategy::Abort {
2455+
"-sDISABLE_EXCEPTION_CATCHING=1"
2456+
} else if sess.opts.unstable_opts.emscripten_wasm_eh {
2457+
"-fwasm-exceptions"
24562458
} else {
2457-
"DISABLE_EXCEPTION_CATCHING=0"
2459+
"-sDISABLE_EXCEPTION_CATCHING=0"
24582460
});
24592461
}
24602462

compiler/rustc_codegen_ssa/src/base.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,8 @@ pub(crate) fn build_shift_expr_rhs<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>>(
388388
// exceptions. This means that the VM does the unwinding for
389389
// us
390390
pub fn wants_wasm_eh(sess: &Session) -> bool {
391-
sess.target.is_like_wasm && sess.target.os != "emscripten"
391+
sess.target.is_like_wasm
392+
&& (sess.target.os != "emscripten" || sess.opts.unstable_opts.emscripten_wasm_eh)
392393
}
393394

394395
/// Returns `true` if this session's target will use SEH-based unwinding.

compiler/rustc_driver_impl/src/lib.rs

+10-20
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ use rustc_metadata::locator;
5252
use rustc_middle::ty::TyCtxt;
5353
use rustc_parse::{new_parser_from_file, new_parser_from_source_str, unwrap_or_emit_fatal};
5454
use rustc_session::config::{
55-
CG_OPTIONS, ErrorOutputType, Input, OutFileName, OutputType, UnstableOptions, Z_OPTIONS,
56-
nightly_options,
55+
CG_OPTIONS, ErrorOutputType, Input, OptionDesc, OutFileName, OutputType, UnstableOptions,
56+
Z_OPTIONS, nightly_options,
5757
};
5858
use rustc_session::getopts::{self, Matches};
5959
use rustc_session::lint::{Lint, LintId};
@@ -1124,14 +1124,6 @@ pub fn describe_flag_categories(early_dcx: &EarlyDiagCtxt, matches: &Matches) ->
11241124
return true;
11251125
}
11261126

1127-
if cg_flags.iter().any(|x| *x == "no-stack-check") {
1128-
early_dcx.early_warn("the `-Cno-stack-check` flag is deprecated and does nothing");
1129-
}
1130-
1131-
if cg_flags.iter().any(|x| x.starts_with("inline-threshold")) {
1132-
early_dcx.early_warn("the `-Cinline-threshold` flag is deprecated and does nothing (consider using `-Cllvm-args=--inline-threshold=...`)");
1133-
}
1134-
11351127
if cg_flags.iter().any(|x| *x == "passes=list") {
11361128
let backend_name = debug_flags.iter().find_map(|x| x.strip_prefix("codegen-backend="));
11371129

@@ -1156,18 +1148,16 @@ fn describe_codegen_flags() {
11561148
print_flag_list("-C", config::CG_OPTIONS);
11571149
}
11581150

1159-
fn print_flag_list<T>(
1160-
cmdline_opt: &str,
1161-
flag_list: &[(&'static str, T, &'static str, &'static str)],
1162-
) {
1163-
let max_len = flag_list.iter().map(|&(name, _, _, _)| name.chars().count()).max().unwrap_or(0);
1151+
fn print_flag_list<T>(cmdline_opt: &str, flag_list: &[OptionDesc<T>]) {
1152+
let max_len =
1153+
flag_list.iter().map(|opt_desc| opt_desc.name().chars().count()).max().unwrap_or(0);
11641154

1165-
for &(name, _, _, desc) in flag_list {
1155+
for opt_desc in flag_list {
11661156
safe_println!(
11671157
" {} {:>width$}=val -- {}",
11681158
cmdline_opt,
1169-
name.replace('_', "-"),
1170-
desc,
1159+
opt_desc.name().replace('_', "-"),
1160+
opt_desc.desc(),
11711161
width = max_len
11721162
);
11731163
}
@@ -1221,8 +1211,8 @@ pub fn handle_options(early_dcx: &EarlyDiagCtxt, args: &[String]) -> Option<geto
12211211
let msg: Option<String> = match e {
12221212
getopts::Fail::UnrecognizedOption(ref opt) => CG_OPTIONS
12231213
.iter()
1224-
.map(|&(name, ..)| ('C', name))
1225-
.chain(Z_OPTIONS.iter().map(|&(name, ..)| ('Z', name)))
1214+
.map(|opt_desc| ('C', opt_desc.name()))
1215+
.chain(Z_OPTIONS.iter().map(|opt_desc| ('Z', opt_desc.name())))
12261216
.find(|&(_, name)| *opt == name.replace('_', "-"))
12271217
.map(|(flag, _)| format!("{e}. Did you mean `-{flag} {opt}`?")),
12281218
getopts::Fail::ArgumentMissing(ref opt) => {

compiler/rustc_feature/src/builtin_attrs.rs

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const GATED_CFGS: &[GatedCfg] = &[
3737
(sym::sanitizer_cfi_normalize_integers, sym::cfg_sanitizer_cfi, Features::cfg_sanitizer_cfi),
3838
// this is consistent with naming of the compiler flag it's for
3939
(sym::fmt_debug, sym::fmt_debug, Features::fmt_debug),
40+
(sym::emscripten_wasm_eh, sym::cfg_emscripten_wasm_eh, Features::cfg_emscripten_wasm_eh),
4041
];
4142

4243
/// Find a gated cfg determined by the `pred`icate which is given the cfg's name.

compiler/rustc_feature/src/unstable.rs

+2
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,8 @@ declare_features! (
202202
(internal, allow_internal_unstable, "1.0.0", None),
203203
/// Allows using anonymous lifetimes in argument-position impl-trait.
204204
(unstable, anonymous_lifetime_in_impl_trait, "1.63.0", None),
205+
/// Allows access to the emscripten_wasm_eh config, used by panic_unwind and unwind
206+
(internal, cfg_emscripten_wasm_eh, "CURRENT_RUSTC_VERSION", None),
205207
/// Allows identifying the `compiler_builtins` crate.
206208
(internal, compiler_builtins, "1.13.0", None),
207209
/// Allows writing custom MIR

compiler/rustc_hir_typeck/src/intrinsicck.rs

+13-1
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,25 @@ fn unpack_option_like<'tcx>(tcx: TyCtxt<'tcx>, ty: Ty<'tcx>) -> Ty<'tcx> {
4040
}
4141

4242
impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
43+
/// FIXME: Move this check out of typeck, since it'll easily cycle when revealing opaques,
44+
/// and we shouldn't need to check anything here if the typeck results are tainted.
4345
pub(crate) fn check_transmute(&self, from: Ty<'tcx>, to: Ty<'tcx>, hir_id: HirId) {
4446
let tcx = self.tcx;
4547
let dl = &tcx.data_layout;
4648
let span = tcx.hir().span(hir_id);
4749
let normalize = |ty| {
4850
let ty = self.resolve_vars_if_possible(ty);
49-
self.tcx.normalize_erasing_regions(self.typing_env(self.param_env), ty)
51+
if let Ok(ty) =
52+
self.tcx.try_normalize_erasing_regions(self.typing_env(self.param_env), ty)
53+
{
54+
ty
55+
} else {
56+
Ty::new_error_with_message(
57+
tcx,
58+
span,
59+
"tried to normalize non-wf type in check_transmute",
60+
)
61+
}
5062
};
5163
let from = normalize(from);
5264
let to = normalize(to);

compiler/rustc_hir_typeck/src/method/suggest.rs

+25-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use rustc_data_structures::sorted_map::SortedMap;
1414
use rustc_data_structures::unord::UnordSet;
1515
use rustc_errors::codes::*;
1616
use rustc_errors::{Applicability, Diag, MultiSpan, StashKey, pluralize, struct_span_code_err};
17-
use rustc_hir::def::DefKind;
17+
use rustc_hir::def::{CtorKind, DefKind, Res};
1818
use rustc_hir::def_id::DefId;
1919
use rustc_hir::intravisit::{self, Visitor};
2020
use rustc_hir::lang_items::LangItem;
@@ -690,6 +690,30 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
690690
);
691691
}
692692

693+
// Check if we wrote `Self::Assoc(1)` as if it were a tuple ctor.
694+
if let SelfSource::QPath(ty) = source
695+
&& let hir::TyKind::Path(hir::QPath::Resolved(_, path)) = ty.kind
696+
&& let Res::SelfTyAlias { alias_to: impl_def_id, .. } = path.res
697+
&& let DefKind::Impl { .. } = self.tcx.def_kind(impl_def_id)
698+
&& let Some(candidate) = tcx.associated_items(impl_def_id).find_by_name_and_kind(
699+
self.tcx,
700+
item_name,
701+
ty::AssocKind::Type,
702+
impl_def_id,
703+
)
704+
&& let Some(adt_def) = tcx.type_of(candidate.def_id).skip_binder().ty_adt_def()
705+
&& adt_def.is_struct()
706+
&& adt_def.non_enum_variant().ctor_kind() == Some(CtorKind::Fn)
707+
{
708+
let def_path = tcx.def_path_str(adt_def.did());
709+
err.span_suggestion(
710+
ty.span.to(item_name.span),
711+
format!("to construct a value of type `{}`, use the explicit path", def_path),
712+
def_path,
713+
Applicability::MachineApplicable,
714+
);
715+
}
716+
693717
err
694718
};
695719
if tcx.sess.source_map().is_multiline(sugg_span) {

compiler/rustc_interface/src/tests.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,7 @@ fn test_codegen_options_tracking_hash() {
582582
untracked!(dlltool, Some(PathBuf::from("custom_dlltool.exe")));
583583
untracked!(extra_filename, String::from("extra-filename"));
584584
untracked!(incremental, Some(String::from("abc")));
585+
untracked!(inline_threshold, Some(0xf007ba11));
585586
// `link_arg` is omitted because it just forwards to `link_args`.
586587
untracked!(link_args, vec![String::from("abc"), String::from("def")]);
587588
untracked!(link_self_contained, LinkSelfContained::on());
@@ -613,7 +614,6 @@ fn test_codegen_options_tracking_hash() {
613614
tracked!(embed_bitcode, false);
614615
tracked!(force_frame_pointers, FramePointer::Always);
615616
tracked!(force_unwind_tables, Some(true));
616-
tracked!(inline_threshold, Some(0xf007ba11));
617617
tracked!(instrument_coverage, InstrumentCoverage::Yes);
618618
tracked!(link_dead_code, Some(true));
619619
tracked!(linker_plugin_lto, LinkerPluginLto::LinkerPluginAuto);
@@ -782,6 +782,7 @@ fn test_unstable_options_tracking_hash() {
782782
tracked!(dwarf_version, Some(5));
783783
tracked!(embed_source, true);
784784
tracked!(emit_thin_lto, false);
785+
tracked!(emscripten_wasm_eh, true);
785786
tracked!(export_executable_symbols, true);
786787
tracked!(fewer_names, Some(true));
787788
tracked!(fixed_x18, true);

0 commit comments

Comments
 (0)