Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit a45dc87

Browse files
committed
Auto merge of rust-lang#140674 - GuillaumeGomez:rollup-x9tjva8, r=GuillaumeGomez
Rollup of 11 pull requests Successful merges: - rust-lang#139764 (Consistent trait bounds for ExtractIf Debug impls) - rust-lang#140035 (Implement RFC 3503: frontmatters) - rust-lang#140080 (mir-opt: Use one MirPatch in MatchBranchSimplification) - rust-lang#140115 (mir-opt: execute MatchBranchSimplification after GVN) - rust-lang#140357 (bypass linker configuration and cross target check on `x check`) - rust-lang#140374 (Resolve instance for SymFn in global/naked asm) - rust-lang#140393 (std: get rid of `sys_common::process`) - rust-lang#140532 (Fix RustAnalyzer discovery of rustc's `stable_mir` crate) - rust-lang#140559 (Removing rustc_type_ir in the rustc_infer codebase) - rust-lang#140636 (implement `PanicTracker` to track `t` panics) - rust-lang#140661 (Make `-Zfixed-x18` into a target modifier) r? `@ghost` `@rustbot` modify labels: rollup
2 parents 0f73f0f + 5b2887b commit a45dc87

File tree

139 files changed

+1526
-378
lines changed

Some content is hidden

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

139 files changed

+1526
-378
lines changed

Cargo.lock

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3604,13 +3604,13 @@ dependencies = [
36043604
"rustc_query_system",
36053605
"rustc_resolve",
36063606
"rustc_session",
3607-
"rustc_smir",
36083607
"rustc_span",
36093608
"rustc_target",
36103609
"rustc_trait_selection",
36113610
"rustc_ty_utils",
36123611
"serde_json",
36133612
"shlex",
3613+
"stable_mir",
36143614
"tracing",
36153615
"windows 0.59.0",
36163616
]
@@ -4515,6 +4515,7 @@ dependencies = [
45154515
"rustc_session",
45164516
"rustc_span",
45174517
"rustc_transmute",
4518+
"rustc_type_ir",
45184519
"smallvec",
45194520
"thin-vec",
45204521
"tracing",

compiler/rustc_ast_passes/src/feature_gate.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,7 @@ pub fn check_crate(krate: &ast::Crate, sess: &Session, features: &Features) {
514514
gate_all!(contracts_internals, "contract internal machinery is for internal use only");
515515
gate_all!(where_clause_attrs, "attributes in `where` clause are unstable");
516516
gate_all!(super_let, "`super let` is experimental");
517+
gate_all!(frontmatter, "frontmatters are experimental");
517518

518519
if !visitor.features.never_patterns() {
519520
if let Some(spans) = spans.get(&sym::never_patterns) {

compiler/rustc_codegen_cranelift/src/intrinsics/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1282,7 +1282,7 @@ fn codegen_regular_intrinsic_call<'tcx>(
12821282
intrinsic.name,
12831283
);
12841284
}
1285-
return Err(Instance::new(instance.def_id(), instance.args));
1285+
return Err(Instance::new_raw(instance.def_id(), instance.args));
12861286
}
12871287
}
12881288

compiler/rustc_codegen_gcc/src/intrinsic/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ impl<'a, 'gcc, 'tcx> IntrinsicCallBuilderMethods<'tcx> for Builder<'a, 'gcc, 'tc
399399
}
400400

401401
// Fall back to default body
402-
_ => return Err(Instance::new(instance.def_id(), instance.args)),
402+
_ => return Err(Instance::new_raw(instance.def_id(), instance.args)),
403403
};
404404

405405
if !fn_abi.ret.is_ignore() {

compiler/rustc_codegen_llvm/src/coverageinfo/mapgen/unused.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ fn make_dummy_instance<'tcx>(tcx: TyCtxt<'tcx>, local_def_id: LocalDefId) -> ty:
157157
let def_id = local_def_id.to_def_id();
158158

159159
// Make a dummy instance that fills in all generics with placeholders.
160-
ty::Instance::new(
160+
ty::Instance::new_raw(
161161
def_id,
162162
ty::GenericArgs::for_item(tcx, def_id, |param, _| {
163163
if let ty::GenericParamDefKind::Lifetime = param.kind {

compiler/rustc_codegen_llvm/src/intrinsic.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,7 @@ impl<'ll, 'tcx> IntrinsicCallBuilderMethods<'tcx> for Builder<'_, 'll, 'tcx> {
613613
_ => {
614614
debug!("unknown intrinsic '{}' -- falling back to default body", name);
615615
// Call the fallback body instead of generating the intrinsic code
616-
return Err(ty::Instance::new(instance.def_id(), instance.args));
616+
return Err(ty::Instance::new_raw(instance.def_id(), instance.args));
617617
}
618618
};
619619

compiler/rustc_codegen_ssa/src/back/symbol_export.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,7 @@ pub(crate) fn symbol_name_for_instance_in_crate<'tcx>(
612612
ExportedSymbol::Generic(def_id, args) => {
613613
rustc_symbol_mangling::symbol_name_for_instance_in_crate(
614614
tcx,
615-
Instance::new(def_id, args),
615+
Instance::new_raw(def_id, args),
616616
instantiating_crate,
617617
)
618618
}
@@ -660,7 +660,7 @@ fn calling_convention_for_symbol<'tcx>(
660660
None
661661
}
662662
ExportedSymbol::NonGeneric(def_id) => Some(Instance::mono(tcx, def_id)),
663-
ExportedSymbol::Generic(def_id, args) => Some(Instance::new(def_id, args)),
663+
ExportedSymbol::Generic(def_id, args) => Some(Instance::new_raw(def_id, args)),
664664
// DropGlue always use the Rust calling convention and thus follow the target's default
665665
// symbol decoration scheme.
666666
ExportedSymbol::DropGlue(..) => None,

compiler/rustc_codegen_ssa/src/base.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,13 @@ where
457457
rustc_hir::InlineAsmOperand::SymFn { expr } => {
458458
let ty = cx.tcx().typeck(item_id.owner_id).expr_ty(expr);
459459
let instance = match ty.kind() {
460-
&ty::FnDef(def_id, args) => Instance::new(def_id, args),
460+
&ty::FnDef(def_id, args) => Instance::expect_resolve(
461+
cx.tcx(),
462+
ty::TypingEnv::fully_monomorphized(),
463+
def_id,
464+
args,
465+
expr.span,
466+
),
461467
_ => span_bug!(*op_sp, "asm sym is not a function"),
462468
};
463469

compiler/rustc_codegen_ssa/src/mir/naked_asm.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,9 @@ fn inline_to_global_operand<'a, 'tcx, Cx: LayoutOf<'tcx, LayoutOfResult = TyAndL
9595
);
9696

9797
let instance = match mono_type.kind() {
98-
&ty::FnDef(def_id, args) => Instance::new(def_id, args),
98+
&ty::FnDef(def_id, args) => {
99+
Instance::expect_resolve(cx.tcx(), cx.typing_env(), def_id, args, value.span)
100+
}
99101
_ => bug!("asm sym is not a function"),
100102
};
101103

compiler/rustc_driver_impl/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ rustc_privacy = { path = "../rustc_privacy" }
4444
rustc_query_system = { path = "../rustc_query_system" }
4545
rustc_resolve = { path = "../rustc_resolve" }
4646
rustc_session = { path = "../rustc_session" }
47-
rustc_smir = { path = "../rustc_smir" }
4847
rustc_span = { path = "../rustc_span" }
4948
rustc_target = { path = "../rustc_target" }
5049
rustc_trait_selection = { path = "../rustc_trait_selection" }
5150
rustc_ty_utils = { path = "../rustc_ty_utils" }
5251
serde_json = "1.0.59"
5352
shlex = "1.0"
53+
stable_mir = { path = "../stable_mir", features = ["rustc_internal"] }
5454
tracing = { version = "0.1.35" }
5555
# tidy-alphabetical-end
5656

0 commit comments

Comments
 (0)