@@ -165,12 +165,8 @@ pub struct ImportLine {
165165impl Import {
166166 /// The full span of the import
167167 pub fn span ( & self ) -> CodeSpan {
168- let first = ( self . name . as_ref ( ) )
169- . map ( |n| n. span . clone ( ) )
170- . unwrap_or_else ( || self . path . span . clone ( ) ) ;
171- let last = ( self . items ( ) . last ( ) )
172- . map ( |i| i. span . clone ( ) )
173- . unwrap_or_else ( || self . path . span . clone ( ) ) ;
168+ let first = ( self . name . as_ref ( ) ) . map_or_else ( || self . path . span . clone ( ) , |n| n. span . clone ( ) ) ;
169+ let last = ( self . items ( ) . last ( ) ) . map_or_else ( || self . path . span . clone ( ) , |i| i. span . clone ( ) ) ;
174170 first. merge ( last)
175171 }
176172 /// The imported items
@@ -249,16 +245,14 @@ pub struct FieldInit {
249245impl DataDef {
250246 /// Get the span of this data definition
251247 pub fn span ( & self ) -> CodeSpan {
252- let end = self
253- . fields
254- . as_ref ( )
255- . map ( |fields| fields. span ( ) )
256- . unwrap_or_else ( || {
248+ let end = self . fields . as_ref ( ) . map_or_else (
249+ || {
257250 self . name
258251 . as_ref ( )
259- . map ( |name| name. span . clone ( ) )
260- . unwrap_or_else ( || self . init_span . clone ( ) )
261- } ) ;
252+ . map_or_else ( || self . init_span . clone ( ) , |name| name. span . clone ( ) )
253+ } ,
254+ |fields| fields. span ( ) ,
255+ ) ;
262256 let mut span = ( self . init_span . clone ( ) ) . merge ( end) ;
263257 if let Some ( words) = & self . func {
264258 if let Some ( word) = words. last ( ) {
@@ -294,9 +288,7 @@ impl DataField {
294288 let Some ( end) = self . bar_span . clone ( ) . or_else ( || {
295289 self . init . as_ref ( ) . map ( |d| {
296290 d. words
297- . last ( )
298- . map ( |w| w. span . clone ( ) )
299- . unwrap_or_else ( || d. arrow_span . clone ( ) )
291+ . last ( ) . map_or_else ( || d. arrow_span . clone ( ) , |w| w. span . clone ( ) )
300292 } )
301293 } ) else {
302294 return self . name . span . clone ( ) ;
0 commit comments