diff options
| author | Ralf Jung <post@ralfj.de> | 2025-01-04 11:41:51 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2025-01-04 11:41:51 +0100 |
| commit | 3cd3649c6cd370ac20e47f40bd5f210c9fe63f92 (patch) | |
| tree | 699d6f81a303789007d9efa24d485f1c3bd3f0b5 /compiler/rustc_mir_transform | |
| parent | be65012aa34aa3b8d27e0e372b9eb86743d5aa8f (diff) | |
| download | rust-3cd3649c6cd370ac20e47f40bd5f210c9fe63f92.tar.gz rust-3cd3649c6cd370ac20e47f40bd5f210c9fe63f92.zip | |
rustc_intrinsic: support functions without body; they are implicitly marked as must-be-overridden
Diffstat (limited to 'compiler/rustc_mir_transform')
| -rw-r--r-- | compiler/rustc_mir_transform/src/inline.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/rustc_mir_transform/src/inline.rs b/compiler/rustc_mir_transform/src/inline.rs index 35699acb318..339acbad6b9 100644 --- a/compiler/rustc_mir_transform/src/inline.rs +++ b/compiler/rustc_mir_transform/src/inline.rs @@ -190,7 +190,8 @@ impl<'tcx> Inliner<'tcx> { // Intrinsic fallback bodies are automatically made cross-crate inlineable, // but at this stage we don't know whether codegen knows the intrinsic, - // so just conservatively don't inline it. + // so just conservatively don't inline it. This also ensures that we do not + // accidentally inline the body of an intrinsic that *must* be overridden. if self.tcx.has_attr(callsite.callee.def_id(), sym::rustc_intrinsic) { return Err("Callee is an intrinsic, do not inline fallback bodies"); } |
