@@ -429,31 +429,28 @@ impl<'p, 'a> Ctx<'p, 'a> {
429
429
Defined :: Handleable ( h) => Ok ( Value :: Borrow ( h. clone ( ) ) ) ,
430
430
_ => Err ( Error :: HandleToNonResource ) ,
431
431
} ,
432
- ComponentDefinedType :: Future ( _) | ComponentDefinedType :: Stream ( _) => {
433
- panic ! ( "async not yet supported" )
434
- }
435
432
ComponentDefinedType :: FixedSizeList ( vt, size) => {
436
433
Ok ( Value :: FixList ( Box :: new ( self . elab_value ( vt) ?) , * size) )
434
+ } ,
435
+ ComponentDefinedType :: Future ( _) | ComponentDefinedType :: Stream ( _) => {
436
+ panic ! ( "async not yet supported" )
437
437
}
438
438
}
439
439
}
440
440
441
441
fn elab_func < ' c > ( & ' c mut self , ft : & ComponentFuncType < ' a > ) -> Result < Func < ' a > , Error < ' a > > {
442
442
Ok ( Func {
443
443
params : ft
444
- . params
445
- . iter ( )
446
- . map ( |( n, vt) | {
447
- Ok ( Param {
448
- name : Name { name : n } ,
449
- ty : self . elab_value ( vt) ?,
450
- } )
444
+ . params
445
+ . iter ( )
446
+ . map ( |( n, vt) | {
447
+ Ok ( Param {
448
+ name : Name { name : n } ,
449
+ ty : self . elab_value ( vt) ?,
451
450
} )
452
- . collect :: < Result < Vec < _ > , Error < ' a > > > ( ) ?,
453
- result : match & ft. result {
454
- Some ( vt) => Some ( self . elab_value ( vt) ?) ,
455
- None => None ,
456
- } ,
451
+ } )
452
+ . collect :: < Result < Vec < _ > , Error < ' a > > > ( ) ?,
453
+ result : ft. result . as_ref ( ) . map ( |vt| self . elab_value ( vt) ) . transpose ( ) ?,
457
454
} )
458
455
}
459
456
0 commit comments