@@ -27,10 +27,10 @@ impl<T> Spanned for source_map::Spanned<T> {
27
27
macro_rules! span_with_attrs_lo_hi {
28
28
( $this: ident, $lo: expr, $hi: expr) => { {
29
29
let attrs = outer_attributes( & $this. attrs) ;
30
- if attrs. is_empty ( ) {
31
- mk_sp( $lo , $hi)
30
+ if let Some ( attr ) = attrs. first ( ) {
31
+ mk_sp( attr . span . lo ( ) , $hi)
32
32
} else {
33
- mk_sp( attrs [ 0 ] . span . lo ( ) , $hi)
33
+ mk_sp( $lo , $hi)
34
34
}
35
35
} } ;
36
36
}
@@ -68,10 +68,10 @@ impl Spanned for ast::Stmt {
68
68
mk_sp ( expr. span ( ) . lo ( ) , self . span . hi ( ) )
69
69
}
70
70
ast:: StmtKind :: MacCall ( ref mac_stmt) => {
71
- if mac_stmt. attrs . is_empty ( ) {
72
- self . span
71
+ if let Some ( attr ) = mac_stmt. attrs . first ( ) {
72
+ mk_sp ( attr . span . lo ( ) , self . span . hi ( ) )
73
73
} else {
74
- mk_sp ( mac_stmt . attrs [ 0 ] . span . lo ( ) , self . span . hi ( ) )
74
+ self . span
75
75
}
76
76
}
77
77
ast:: StmtKind :: Empty => self . span ,
@@ -93,10 +93,10 @@ impl Spanned for ast::Ty {
93
93
94
94
impl Spanned for ast:: Arm {
95
95
fn span ( & self ) -> Span {
96
- let lo = if self . attrs . is_empty ( ) {
97
- self . pat . span . lo ( )
96
+ let lo = if let Some ( attr ) = self . attrs . first ( ) {
97
+ attr . span . lo ( )
98
98
} else {
99
- self . attrs [ 0 ] . span . lo ( )
99
+ self . pat . span . lo ( )
100
100
} ;
101
101
let hi = if let Some ( body) = & self . body {
102
102
body. span . hi ( )
@@ -119,15 +119,15 @@ impl Spanned for ast::Param {
119
119
120
120
impl Spanned for ast:: GenericParam {
121
121
fn span ( & self ) -> Span {
122
- let lo = match self . kind {
123
- _ if ! self . attrs . is_empty ( ) => self . attrs [ 0 ] . span . lo ( ) ,
124
- ast:: GenericParamKind :: Const { kw_span, .. } => kw_span. lo ( ) ,
122
+ let lo = match ( & self . kind , self . attrs . first ( ) ) {
123
+ ( _ , Some ( attr ) ) => attr . span . lo ( ) ,
124
+ ( ast:: GenericParamKind :: Const { kw_span, .. } , _ ) => kw_span. lo ( ) ,
125
125
_ => self . ident . span . lo ( ) ,
126
126
} ;
127
- let hi = if self . bounds . is_empty ( ) {
128
- self . ident . span . hi ( )
127
+ let hi = if let Some ( bound ) = self . bounds . last ( ) {
128
+ bound . span ( ) . hi ( )
129
129
} else {
130
- self . bounds . last ( ) . unwrap ( ) . span ( ) . hi ( )
130
+ self . ident . span . hi ( )
131
131
} ;
132
132
let ty_hi = if let ast:: GenericParamKind :: Type {
133
133
default : Some ( ref ty) ,
0 commit comments