@@ -447,10 +447,6 @@ impl<'src> FirstPass<'src, &'src str> for weedle::interface::InterfaceMember<'sr
447
447
448
448
impl < ' src > FirstPass < ' src , & ' src str > for weedle:: interface:: OperationInterfaceMember < ' src > {
449
449
fn first_pass ( & ' src self , record : & mut FirstPassRecord < ' src > , self_name : & ' src str ) -> Result < ( ) > {
450
- if self . specials . len ( ) > 1 {
451
- warn ! ( "Unsupported webidl operation: {:?}" , self ) ;
452
- return Ok ( ( ) )
453
- }
454
450
let is_static = match self . modifier {
455
451
Some ( StringifierOrStatic :: Stringifier ( _) ) => {
456
452
warn ! ( "Unsupported webidl stringifier: {:?}" , self ) ;
@@ -461,13 +457,13 @@ impl<'src> FirstPass<'src, &'src str> for weedle::interface::OperationInterfaceM
461
457
} ;
462
458
463
459
let mut ids = vec ! [ OperationId :: Operation ( self . identifier. map( |s| s. 0 ) ) ] ;
464
- for special in self . specials . iter ( ) {
465
- ids . push ( match special {
466
- Special :: Getter ( _) => OperationId :: IndexingGetter ,
467
- Special :: Setter ( _) => OperationId :: IndexingSetter ,
468
- Special :: Deleter ( _) => OperationId :: IndexingDeleter ,
469
- Special :: LegacyCaller ( _) => continue ,
470
- } ) ;
460
+ if let Some ( special) = self . special {
461
+ match special {
462
+ Special :: Getter ( _) => ids . push ( OperationId :: IndexingGetter ) ,
463
+ Special :: Setter ( _) => ids . push ( OperationId :: IndexingSetter ) ,
464
+ Special :: Deleter ( _) => ids . push ( OperationId :: IndexingDeleter ) ,
465
+ Special :: LegacyCaller ( _) => { } ,
466
+ } ;
471
467
}
472
468
first_pass_operation (
473
469
record,
0 commit comments