@@ -1385,8 +1385,8 @@ impl Bindgen for FunctionBindgen<'_, '_> {
13851385 results. extend ( operands. iter ( ) . take ( * amt) . cloned ( ) ) ;
13861386 }
13871387
1388- Instruction :: FutureLower { payload, ty }
1389- | Instruction :: StreamLower { payload, ty } => {
1388+ Instruction :: FutureLower { payload, ty : _ }
1389+ | Instruction :: StreamLower { payload, ty : _ } => {
13901390 let op = & operands[ 0 ] ;
13911391 let generic_type_name = match payload {
13921392 Some ( generic_type) => {
@@ -1397,10 +1397,10 @@ impl Bindgen for FunctionBindgen<'_, '_> {
13971397
13981398 match inst {
13991399 Instruction :: FutureLower { .. } => {
1400- self . interface_gen . add_future ( self . func_name , & generic_type_name, ty ) ;
1400+ self . interface_gen . add_future ( self . func_name , & generic_type_name, * * payload ) ;
14011401 }
14021402 _ => {
1403- self . interface_gen . add_stream ( self . func_name , & generic_type_name, ty ) ;
1403+ self . interface_gen . add_stream ( self . func_name , & generic_type_name, * * payload ) ;
14041404 }
14051405 }
14061406
@@ -1411,8 +1411,8 @@ impl Bindgen for FunctionBindgen<'_, '_> {
14111411 uwriteln ! ( self . src, "// TODO: task_cancel.forget();" ) ;
14121412 }
14131413
1414- Instruction :: FutureLift { payload, ty }
1415- | Instruction :: StreamLift { payload, ty } => {
1414+ Instruction :: FutureLift { payload, ty : _ }
1415+ | Instruction :: StreamLift { payload, ty : _ } => {
14161416 let generic_type_name_with_qualifier = match payload {
14171417 Some ( generic_type) => {
14181418 & self . interface_gen . type_name_with_qualifier ( generic_type, true )
@@ -1436,11 +1436,8 @@ impl Bindgen for FunctionBindgen<'_, '_> {
14361436 let reader_var = self . locals . tmp ( "reader" ) ;
14371437 let module = self . interface_gen . name ;
14381438 let ( import_name, interface_name) = CSharp :: get_class_name_from_qualified_name ( module) ;
1439- let export_name = import_name
1440- . replace ( ".Imports." , ".Exports." ) ;
14411439 let base_interface_name = interface_name
1442- . strip_prefix ( "I" ) . unwrap ( )
1443- . replace ( "Imports" , "Exports" ) ; // TODO: This is fragile and depends on the interface name.
1440+ . strip_prefix ( "I" ) . unwrap ( ) ;
14441441
14451442 let future_stream_name = match inst {
14461443 Instruction :: FutureLift { payload : _, ty : _} => "Future" ,
@@ -1449,15 +1446,15 @@ impl Bindgen for FunctionBindgen<'_, '_> {
14491446 panic ! ( "Unexpected instruction for lift" ) ;
14501447 }
14511448 } ;
1452- uwriteln ! ( self . src, "var {reader_var} = new {future_stream_name}Reader{bracketed_generic}({}, {export_name }.{base_interface_name}Interop.{future_stream_name}VTable{});" , operands[ 0 ] , upper_camel) ;
1449+ uwriteln ! ( self . src, "var {reader_var} = new {future_stream_name}Reader{bracketed_generic}({}, {import_name }.{base_interface_name}Interop.{future_stream_name}VTable{});" , operands[ 0 ] , upper_camel) ;
14531450 results. push ( reader_var) ;
14541451
14551452 match inst {
14561453 Instruction :: FutureLift { .. } => {
1457- self . interface_gen . add_future ( self . func_name , & generic_type_name, ty ) ;
1454+ self . interface_gen . add_future ( self . func_name , & generic_type_name, * * payload ) ;
14581455 }
14591456 _ => {
1460- self . interface_gen . add_stream ( self . func_name , & generic_type_name, ty ) ;
1457+ self . interface_gen . add_stream ( self . func_name , & generic_type_name, * * payload ) ;
14611458 }
14621459 }
14631460
0 commit comments