@@ -16,8 +16,7 @@ use std::cmp::min;
16
16
use config:: lists:: * ;
17
17
use regex:: Regex ;
18
18
use syntax:: { abi, ast, ptr, symbol} ;
19
- use syntax:: ast:: { CrateSugar , ImplItem } ;
20
- use syntax:: codemap:: { BytePos , Span } ;
19
+ use syntax:: codemap:: { self , BytePos , Span } ;
21
20
use syntax:: visit;
22
21
23
22
use codemap:: { LineRangeUtils , SpanUtils } ;
@@ -39,6 +38,11 @@ use utils::{colon_spaces, contains_skip, first_line_width, format_abi, format_co
39
38
use vertical:: rewrite_with_alignment;
40
39
use visitor:: FmtVisitor ;
41
40
41
+ const DEFAULT_VISIBILITY : ast:: Visibility = codemap:: Spanned {
42
+ node : ast:: VisibilityKind :: Inherited ,
43
+ span : codemap:: DUMMY_SP ,
44
+ } ;
45
+
42
46
fn type_annotation_separator ( config : & Config ) -> & str {
43
47
colon_spaces ( config. space_before_colon ( ) , config. space_after_colon ( ) )
44
48
}
@@ -191,7 +195,7 @@ impl<'a> FnSig<'a> {
191
195
abi : method_sig. abi ,
192
196
decl : & * method_sig. decl ,
193
197
generics,
194
- visibility : ast :: Visibility :: Inherited ,
198
+ visibility : DEFAULT_VISIBILITY ,
195
199
}
196
200
}
197
201
@@ -680,7 +684,7 @@ pub fn format_impl(
680
684
681
685
fn is_impl_single_line (
682
686
context : & RewriteContext ,
683
- items : & [ ImplItem ] ,
687
+ items : & [ ast :: ImplItem ] ,
684
688
result : & str ,
685
689
where_clause_str : & str ,
686
690
item : & ast:: Item ,
@@ -869,7 +873,7 @@ impl<'a> StructParts<'a> {
869
873
StructParts {
870
874
prefix : "" ,
871
875
ident : variant. node . name ,
872
- vis : & ast :: Visibility :: Inherited ,
876
+ vis : & DEFAULT_VISIBILITY ,
873
877
def : & variant. node . data ,
874
878
generics : None ,
875
879
span : variant. span ,
@@ -1208,21 +1212,9 @@ pub fn format_struct_struct(
1208
1212
}
1209
1213
}
1210
1214
1211
- /// Returns a bytepos that is after that of `(` in `pub(..)`. If the given visibility does not
1212
- /// contain `pub(..)`, then return the `lo` of the `defualt_span`. Yeah, but for what? Well, we need
1213
- /// to bypass the `(` in the visibility when creating a span of tuple's body or fn's args.
1214
- fn get_bytepos_after_visibility (
1215
- context : & RewriteContext ,
1216
- vis : & ast:: Visibility ,
1217
- default_span : Span ,
1218
- terminator : & str ,
1219
- ) -> BytePos {
1220
- match * vis {
1221
- ast:: Visibility :: Crate ( s, CrateSugar :: PubCrate ) => context
1222
- . snippet_provider
1223
- . span_after ( mk_sp ( s. hi ( ) , default_span. hi ( ) ) , terminator) ,
1224
- ast:: Visibility :: Crate ( s, CrateSugar :: JustCrate ) => s. hi ( ) ,
1225
- ast:: Visibility :: Restricted { ref path, .. } => path. span . hi ( ) ,
1215
+ fn get_bytepos_after_visibility ( vis : & ast:: Visibility , default_span : Span ) -> BytePos {
1216
+ match vis. node {
1217
+ ast:: VisibilityKind :: Crate ( ..) | ast:: VisibilityKind :: Restricted { .. } => vis. span . hi ( ) ,
1226
1218
_ => default_span. lo ( ) ,
1227
1219
}
1228
1220
}
@@ -1240,7 +1232,7 @@ fn format_tuple_struct(
1240
1232
result. push_str ( & header_str) ;
1241
1233
1242
1234
let body_lo = if fields. is_empty ( ) {
1243
- let lo = get_bytepos_after_visibility ( context , struct_parts. vis , span, ")" ) ;
1235
+ let lo = get_bytepos_after_visibility ( struct_parts. vis , span) ;
1244
1236
context
1245
1237
. snippet_provider
1246
1238
. span_after ( mk_sp ( lo, span. hi ( ) ) , "(" )
@@ -1522,7 +1514,7 @@ impl<'a> StaticParts<'a> {
1522
1514
} ;
1523
1515
StaticParts {
1524
1516
prefix : "const" ,
1525
- vis : & ast :: Visibility :: Inherited ,
1517
+ vis : & DEFAULT_VISIBILITY ,
1526
1518
ident : ti. ident ,
1527
1519
ty,
1528
1520
mutability : ast:: Mutability :: Immutable ,
@@ -1874,7 +1866,7 @@ fn rewrite_fn_base(
1874
1866
}
1875
1867
1876
1868
// Skip `pub(crate)`.
1877
- let lo_after_visibility = get_bytepos_after_visibility ( context , & fn_sig. visibility , span, ")" ) ;
1869
+ let lo_after_visibility = get_bytepos_after_visibility ( & fn_sig. visibility , span) ;
1878
1870
// A conservative estimation, to goal is to be over all parens in generics
1879
1871
let args_start = fn_sig
1880
1872
. generics
0 commit comments