@@ -5,7 +5,7 @@ use std::io;
55use std:: rc:: Rc ;
66
77use html5ever:: tendril:: StrTendril ;
8- use html5ever:: { local_name , namespace_url , ns , LocalName , QualName } ;
8+ use html5ever:: { LocalName , QualName , local_name , namespace_url , ns } ;
99use markup5ever_rcdom:: { Handle , NodeData } ;
1010
1111use crate :: dom_utils:: { self , NodeHandleExt } ;
@@ -142,7 +142,7 @@ impl Processor {
142142 let mut variant_comment = None ;
143143 let mut variant_str = None ;
144144 for node in description. iter ( ) {
145- if let NodeData :: Comment { ref contents } = node. data {
145+ if let NodeData :: Comment { contents } = & node. data {
146146 if contents. trim ( ) . starts_with ( "or:" ) {
147147 variant_comment = Some ( node) ;
148148 variant_str = Some ( StrTendril :: from ( contents. trim ( ) [ 3 ..] . trim_start ( ) ) ) ;
@@ -158,7 +158,7 @@ impl Processor {
158158 . children
159159 . borrow ( )
160160 . iter ( )
161- . filter ( |c| variant_comment. map_or ( true , |vc| !Rc :: ptr_eq ( c, vc) ) )
161+ . filter ( |c| variant_comment. is_none_or ( |vc| !Rc :: ptr_eq ( c, vc) ) )
162162 . map ( |c| c. deep_clone ( ) )
163163 . collect ( ) ,
164164 variant : variant_str,
@@ -167,7 +167,7 @@ impl Processor {
167167 if existing. default . is_empty ( ) {
168168 existing. default = descriptions. default ;
169169 } else if !descriptions. default . is_empty ( ) {
170- if let NodeData :: Text { ref contents } = existing. default . last ( ) . unwrap ( ) . data {
170+ if let NodeData :: Text { contents } = & existing. default . last ( ) . unwrap ( ) . data {
171171 let mut borrow = contents. borrow_mut ( ) ;
172172 if let Some ( last_non_ws) = borrow. rfind ( |c : char | !c. is_ascii_whitespace ( ) )
173173 {
@@ -209,13 +209,13 @@ impl Processor {
209209 let mut has_special_semantics = false ;
210210 let mut key = None ;
211211 dom_utils:: scan_dom ( dd, & mut |n| match & n. data {
212- NodeData :: Comment { ref contents } if contents. trim ( ) == "no-annotate" => {
212+ NodeData :: Comment { contents } if contents. trim ( ) == "no-annotate" => {
213213 can_annotate = false ;
214214 }
215- NodeData :: Comment { ref contents } if contents. trim ( ) == "variant" => {
215+ NodeData :: Comment { contents } if contents. trim ( ) == "variant" => {
216216 wants_variant_description = true ;
217217 }
218- NodeData :: Text { ref contents }
218+ NodeData :: Text { contents }
219219 if contents. borrow ( ) . contains ( "has special semantics" ) =>
220220 {
221221 has_special_semantics = true ;
@@ -257,7 +257,7 @@ impl Processor {
257257 } ;
258258 let mut description: Vec < Handle > = match descriptions {
259259 Descriptions {
260- variant : Some ( ref variant) ,
260+ variant : Some ( variant) ,
261261 ..
262262 } if wants_variant_description => {
263263 parser:: parse_fragment_async ( variant[ ..] . as_bytes ( ) , & dd) . await ?
@@ -268,22 +268,22 @@ impl Processor {
268268 format ! (
269269 "Attribute {key} wants variant description, but no <!--or--> was found"
270270 ) ,
271- ) )
272- }
273- Descriptions { ref default, .. } => {
274- default. iter ( ) . map ( |n| n. deep_clone ( ) ) . collect ( )
271+ ) ) ;
275272 }
273+ Descriptions { default, .. } => default. iter ( ) . map ( |n| n. deep_clone ( ) ) . collect ( ) ,
276274 } ;
277275
278276 let mut dd_children = dd. children . borrow_mut ( ) ;
279277 if has_special_semantics {
280278 // Replace the trailing period with a separating colon.
281- if let Some ( NodeData :: Text { contents } ) = dd_children. last_mut ( ) . map ( |n| & n. data ) {
282- let mut text = contents. borrow_mut ( ) ;
283- * text = StrTendril :: from (
284- text. trim_end_matches ( |c : char | c. is_ascii_whitespace ( ) || c == '.' ) ,
285- ) ;
286- text. push_slice ( ": " ) ;
279+ if let Some ( last) = dd_children. last_mut ( ) {
280+ if let NodeData :: Text { contents } = & last. data {
281+ let mut text = contents. borrow_mut ( ) ;
282+ * text = StrTendril :: from (
283+ text. trim_end_matches ( |c : char | c. is_ascii_whitespace ( ) || c == '.' ) ,
284+ ) ;
285+ text. push_slice ( ": " ) ;
286+ }
287287 }
288288 } else {
289289 // Insert an em dash.
0 commit comments