@@ -346,6 +346,48 @@ pub mod foo {
346346 4 == < TupleTypedef2 as wasmtime:: component:: ComponentType >:: ALIGN32
347347 ) ;
348348 } ;
349+ #[ derive( wasmtime:: component:: ComponentType ) ]
350+ #[ derive( wasmtime:: component:: Lift ) ]
351+ #[ derive( wasmtime:: component:: Lower ) ]
352+ #[ component( record) ]
353+ pub struct FuturesAndStreams {
354+ #[ component( name = "a" ) ]
355+ pub a : wasmtime:: component:: FutureReader < u8 > ,
356+ #[ component( name = "b" ) ]
357+ pub b : wasmtime:: component:: StreamReader < u8 > ,
358+ #[ component( name = "c" ) ]
359+ pub c : wasmtime:: component:: StreamReader <
360+ wasmtime:: component:: FutureReader <
361+ wasmtime:: component:: StreamReader < ( ) > ,
362+ > ,
363+ > ,
364+ #[ component( name = "d" ) ]
365+ pub d : wasmtime:: component:: FutureReader <
366+ wasmtime:: component:: StreamReader <
367+ wasmtime:: component:: FutureReader < ( ) > ,
368+ > ,
369+ > ,
370+ }
371+ impl core:: fmt:: Debug for FuturesAndStreams {
372+ fn fmt ( & self , f : & mut core:: fmt:: Formatter < ' _ > ) -> core:: fmt:: Result {
373+ f. debug_struct ( "FuturesAndStreams" )
374+ . field ( "a" , & self . a )
375+ . field ( "b" , & self . b )
376+ . field ( "c" , & self . c )
377+ . field ( "d" , & self . d )
378+ . finish ( )
379+ }
380+ }
381+ const _: ( ) = {
382+ assert ! (
383+ 16 == < FuturesAndStreams as wasmtime:: component:: ComponentType
384+ >:: SIZE32
385+ ) ;
386+ assert ! (
387+ 4 == < FuturesAndStreams as wasmtime:: component:: ComponentType
388+ >:: ALIGN32
389+ ) ;
390+ } ;
349391 pub trait HostWithStore : wasmtime:: component:: HasData + Send {
350392 fn tuple_arg < T : Send > (
351393 accessor : & wasmtime:: component:: Accessor < T , Self > ,
@@ -722,6 +764,51 @@ pub mod exports {
722764 >:: ALIGN32
723765 ) ;
724766 } ;
767+ #[ derive( wasmtime:: component:: ComponentType ) ]
768+ #[ derive( wasmtime:: component:: Lift ) ]
769+ #[ derive( wasmtime:: component:: Lower ) ]
770+ #[ component( record) ]
771+ pub struct FuturesAndStreams {
772+ #[ component( name = "a" ) ]
773+ pub a : wasmtime:: component:: FutureReader < u8 > ,
774+ #[ component( name = "b" ) ]
775+ pub b : wasmtime:: component:: StreamReader < u8 > ,
776+ #[ component( name = "c" ) ]
777+ pub c : wasmtime:: component:: StreamReader <
778+ wasmtime:: component:: FutureReader <
779+ wasmtime:: component:: StreamReader < ( ) > ,
780+ > ,
781+ > ,
782+ #[ component( name = "d" ) ]
783+ pub d : wasmtime:: component:: FutureReader <
784+ wasmtime:: component:: StreamReader <
785+ wasmtime:: component:: FutureReader < ( ) > ,
786+ > ,
787+ > ,
788+ }
789+ impl core:: fmt:: Debug for FuturesAndStreams {
790+ fn fmt (
791+ & self ,
792+ f : & mut core:: fmt:: Formatter < ' _ > ,
793+ ) -> core:: fmt:: Result {
794+ f. debug_struct ( "FuturesAndStreams" )
795+ . field ( "a" , & self . a )
796+ . field ( "b" , & self . b )
797+ . field ( "c" , & self . c )
798+ . field ( "d" , & self . d )
799+ . finish ( )
800+ }
801+ }
802+ const _: ( ) = {
803+ assert ! (
804+ 16 == < FuturesAndStreams as wasmtime:: component:: ComponentType
805+ >:: SIZE32
806+ ) ;
807+ assert ! (
808+ 4 == < FuturesAndStreams as wasmtime:: component:: ComponentType
809+ >:: ALIGN32
810+ ) ;
811+ } ;
725812 #[ derive( Clone ) ]
726813 pub struct Guest {
727814 tuple_arg : wasmtime:: component:: Func ,
0 commit comments