@@ -1673,16 +1673,22 @@ impl Merger {
16731673 } ) ;
16741674
16751675 // Track per-component resource import indices.
1676+ // Strip $N suffix (multi-memory dedup) from the resource name
1677+ // so the adapter can look up by bare name (e.g., "float" not "float$5").
16761678 let merged_func_idx = func_position - 1 ;
16771679 let eff_field = & dedup_key. 1 ;
16781680 if let Some ( rn) = eff_field. strip_prefix ( "[resource-rep]" ) {
1679- merged
1680- . resource_rep_by_component
1681- . insert ( ( unresolved. component_idx , rn. to_string ( ) ) , merged_func_idx) ;
1681+ let bare_rn = rn. rsplit_once ( '$' ) . map_or ( rn, |( base, _) | base) ;
1682+ merged. resource_rep_by_component . insert (
1683+ ( unresolved. component_idx , bare_rn. to_string ( ) ) ,
1684+ merged_func_idx,
1685+ ) ;
16821686 } else if let Some ( rn) = eff_field. strip_prefix ( "[resource-new]" ) {
1683- merged
1684- . resource_new_by_component
1685- . insert ( ( unresolved. component_idx , rn. to_string ( ) ) , merged_func_idx) ;
1687+ let bare_rn = rn. rsplit_once ( '$' ) . map_or ( rn, |( base, _) | base) ;
1688+ merged. resource_new_by_component . insert (
1689+ ( unresolved. component_idx , bare_rn. to_string ( ) ) ,
1690+ merged_func_idx,
1691+ ) ;
16861692 }
16871693 }
16881694 ImportKind :: Table ( t) => {
0 commit comments