@@ -350,16 +350,16 @@ where
350
350
self . sink
351
351
. parse_error ( Borrowed ( "Unacknowledged self-closing tag" ) ) ;
352
352
}
353
- token = unwrap_or_return ! (
354
- more_tokens . pop_front ( ) ,
355
- tokenizer :: TokenSinkResult :: Continue
356
- ) ;
353
+ let Some ( new_token ) = more_tokens . pop_front ( ) else {
354
+ return tokenizer :: TokenSinkResult :: Continue ;
355
+ } ;
356
+ token = new_token ;
357
357
} ,
358
358
ProcessResult :: DoneAckSelfClosing => {
359
- token = unwrap_or_return ! (
360
- more_tokens . pop_front ( ) ,
361
- tokenizer :: TokenSinkResult :: Continue
362
- ) ;
359
+ let Some ( new_token ) = more_tokens . pop_front ( ) else {
360
+ return tokenizer :: TokenSinkResult :: Continue ;
361
+ } ;
362
+ token = new_token ;
363
363
} ,
364
364
ProcessResult :: Reprocess ( m, t) => {
365
365
self . mode . set ( m) ;
@@ -370,7 +370,9 @@ where
370
370
} ,
371
371
ProcessResult :: SplitWhitespace ( mut buf) => {
372
372
let p = buf. pop_front_char_run ( |c| c. is_ascii_whitespace ( ) ) ;
373
- let ( first, is_ws) = unwrap_or_return ! ( p, tokenizer:: TokenSinkResult :: Continue ) ;
373
+ let Some ( ( first, is_ws) ) = p else {
374
+ return tokenizer:: TokenSinkResult :: Continue ;
375
+ } ;
374
376
let status = if is_ws {
375
377
SplitStatus :: Whitespace
376
378
} else {
@@ -714,33 +716,33 @@ where
714
716
// 2. 3. 4.
715
717
for _ in 0 ..8 {
716
718
// 5.
717
- let ( fmt_elem_index , fmt_elem , fmt_elem_tag ) = unwrap_or_return ! (
718
- // We clone the Handle and Tag so they don't cause an immutable borrow of self.
719
- self . active_formatting_end_to_marker( )
720
- . iter( )
721
- . find( |& ( _, _, tag) | tag. name == subject)
722
- . map( |( i, h, t) | ( i, h. clone( ) , t. clone( ) ) ) ,
723
- {
724
- self . process_end_tag_in_body ( Tag {
725
- kind : EndTag ,
726
- name : subject ,
727
- self_closing : false ,
728
- attrs : vec! [ ] ,
729
- } ) ;
730
- }
731
- ) ;
719
+ // We clone the Handle and Tag so they don't cause an immutable borrow of self.
720
+ let maybe_fmt_entry = self
721
+ . active_formatting_end_to_marker ( )
722
+ . iter ( )
723
+ . find ( |& ( _, _, tag) | tag. name == subject)
724
+ . map ( |( i, h, t) | ( i, h. clone ( ) , t. clone ( ) ) ) ;
725
+
726
+ let Some ( ( fmt_elem_index , fmt_elem , fmt_elem_tag ) ) = maybe_fmt_entry else {
727
+ return self . process_end_tag_in_body ( Tag {
728
+ kind : EndTag ,
729
+ name : subject ,
730
+ self_closing : false ,
731
+ attrs : vec ! [ ] ,
732
+ } ) ;
733
+ } ;
732
734
733
- let fmt_elem_stack_index = unwrap_or_return ! (
734
- self . open_elems
735
- . borrow( )
736
- . iter( )
737
- . rposition( |n| self . sink. same_node( n, & fmt_elem) ) ,
738
- {
739
- self . sink
740
- . parse_error( Borrowed ( "Formatting element not open" ) ) ;
741
- self . active_formatting. borrow_mut( ) . remove( fmt_elem_index) ;
742
- }
743
- ) ;
735
+ let Some ( fmt_elem_stack_index) = self
736
+ . open_elems
737
+ . borrow ( )
738
+ . iter ( )
739
+ . rposition ( |n| self . sink . same_node ( n, & fmt_elem) )
740
+ else {
741
+ self . sink
742
+ . parse_error ( Borrowed ( "Formatting element not open" ) ) ;
743
+ self . active_formatting . borrow_mut ( ) . remove ( fmt_elem_index) ;
744
+ return ;
745
+ } ;
744
746
745
747
// 7.
746
748
if !self . in_scope ( default_scope, |n| self . sink . same_node ( & n, & fmt_elem) ) {
@@ -756,20 +758,21 @@ where
756
758
}
757
759
758
760
// 9.
759
- let ( furthest_block_index, furthest_block) = unwrap_or_return ! (
760
- self . open_elems
761
- . borrow( )
762
- . iter( )
763
- . enumerate( )
764
- . skip( fmt_elem_stack_index)
765
- . find( |& ( _, open_element) | self . elem_in( open_element, special_tag) )
766
- . map( |( i, h) | ( i, h. clone( ) ) ) ,
761
+ let maybe_furthest_block = self
762
+ . open_elems
763
+ . borrow ( )
764
+ . iter ( )
765
+ . enumerate ( )
766
+ . skip ( fmt_elem_stack_index)
767
+ . find ( |& ( _, open_element) | self . elem_in ( open_element, special_tag) )
768
+ . map ( |( i, h) | ( i, h. clone ( ) ) ) ;
769
+
770
+ let Some ( ( furthest_block_index, furthest_block) ) = maybe_furthest_block else {
767
771
// 10.
768
- {
769
- self . open_elems. borrow_mut( ) . truncate( fmt_elem_stack_index) ;
770
- self . active_formatting. borrow_mut( ) . remove( fmt_elem_index) ;
771
- }
772
- ) ;
772
+ self . open_elems . borrow_mut ( ) . truncate ( fmt_elem_stack_index) ;
773
+ self . active_formatting . borrow_mut ( ) . remove ( fmt_elem_index) ;
774
+ return ;
775
+ } ;
773
776
774
777
// 11.
775
778
let common_ancestor = self . open_elems . borrow ( ) [ fmt_elem_stack_index - 1 ] . clone ( ) ;
@@ -1569,11 +1572,14 @@ where
1569
1572
}
1570
1573
1571
1574
fn handle_misnested_a_tags ( & self , tag : & Tag ) {
1572
- let node = unwrap_or_return ! ( self
1575
+ let Some ( node) = self
1573
1576
. active_formatting_end_to_marker ( )
1574
1577
. iter ( )
1575
1578
. find ( |& ( _, n, _) | self . html_elem_named ( n, local_name ! ( "a" ) ) )
1576
- . map( |( _, n, _) | n. clone( ) ) ) ;
1579
+ . map ( |( _, n, _) | n. clone ( ) )
1580
+ else {
1581
+ return ;
1582
+ } ;
1577
1583
1578
1584
self . unexpected ( tag) ;
1579
1585
self . adoption_agency ( local_name ! ( "a" ) ) ;
0 commit comments