diff --git a/src/librustc_codegen_ssa/back/symbol_export.rs b/src/librustc_codegen_ssa/back/symbol_export.rs index edd0fa504270..9cf0f0a801e1 100644 --- a/src/librustc_codegen_ssa/back/symbol_export.rs +++ b/src/librustc_codegen_ssa/back/symbol_export.rs @@ -349,7 +349,12 @@ fn symbol_export_level(tcx: TyCtxt<'_>, sym_def_id: DefId) -> SymbolExportLevel if let Some(Node::Item(&hir::Item { kind: hir::ItemKind::Static(..), .. })) = tcx.hir().get_if_local(sym_def_id) { - return SymbolExportLevel::Rust; + let export_level = if tcx.type_of(sym_def_id).is_scalar() { + SymbolExportLevel::C + } else { + SymbolExportLevel::Rust + }; + return export_level; } }