diff --git a/lib/module/src/module.rs b/lib/module/src/module.rs index 909fa36c6d..0f04440f2a 100644 --- a/lib/module/src/module.rs +++ b/lib/module/src/module.rs @@ -263,7 +263,13 @@ where name: &ir::ExternalName, ) -> (Option<&B::CompiledFunction>, &str, &ir::Signature) { let info = self.contents.get_function_info(name); + debug_assert!( + !info.decl.linkage.is_definable() || info.compiled.is_some(), + "Finalization requires a definition for function {}.", + name, + ); debug_assert_eq!(info.decl.linkage.is_definable(), info.compiled.is_some()); + ( info.compiled.as_ref(), &info.decl.name, @@ -278,7 +284,13 @@ where name: &ir::ExternalName, ) -> (Option<&B::CompiledData>, &str, bool) { let info = self.contents.get_data_info(name); + debug_assert!( + !info.decl.linkage.is_definable() || info.compiled.is_some(), + "Finalization requires a definition for data object {}.", + name, + ); debug_assert_eq!(info.decl.linkage.is_definable(), info.compiled.is_some()); + (info.compiled.as_ref(), &info.decl.name, info.decl.writable) }