@@ -24,8 +24,8 @@ limitations under the License.
2424// the `Resources` struct with.)
2525
2626use hyperlight_component_util:: emit:: {
27- FnName , State , WitName , kebab_to_fn, kebab_to_namespace, kebab_to_type, kebab_to_var ,
28- split_wit_name,
27+ FnName , ResolvedBoundVar , State , WitName , kebab_to_fn, kebab_to_namespace, kebab_to_type,
28+ kebab_to_var , split_wit_name,
2929} ;
3030use hyperlight_component_util:: etypes:: {
3131 self , Component , Defined , ExternDecl , ExternDesc , Handleable , Instance , Tyvar ,
@@ -94,10 +94,12 @@ fn emit_import_extern_decl<'b>(
9494 }
9595 ExternDesc :: Type ( t) => match t {
9696 Defined :: Handleable ( Handleable :: Var ( Tyvar :: Bound ( b) ) ) => {
97- let ( b, _) = s. resolve_tv ( * b) ;
97+ let ResolvedBoundVar :: Resource { rtidx } = s. resolve_bound_var ( * b) else {
98+ return quote ! { } ;
99+ } ;
98100 let li = format_ident ! ( "li{}" , depth) ;
99101 let edkn = ed. kebab_name ;
100- let rtid = format_ident ! ( "HostResource{}" , b ) ;
102+ let rtid = format_ident ! ( "HostResource{rtidx}" ) ;
101103 quote ! {
102104 #li. resource( #edkn, :: wasmtime:: component:: ResourceType :: host:: <#rtid>( ) , |_, _| { Ok ( ( ) ) } ) ;
103105 }
0 commit comments