@@ -15,7 +15,6 @@ use std::iter::{self, once};
15
15
use itertools:: Either ;
16
16
use rustc_abi:: ExternAbi ;
17
17
use rustc_attr_parsing:: { ConstStability , StabilityLevel , StableSince } ;
18
- use rustc_data_structures:: captures:: Captures ;
19
18
use rustc_data_structures:: fx:: FxHashSet ;
20
19
use rustc_hir as hir;
21
20
use rustc_hir:: def:: DefKind ;
@@ -41,10 +40,10 @@ pub(crate) fn write_str(s: &mut String, f: fmt::Arguments<'_>) {
41
40
s. write_fmt ( f) . unwrap ( ) ;
42
41
}
43
42
44
- pub ( crate ) fn print_generic_bounds < ' a , ' tcx : ' a > (
45
- bounds : & ' a [ clean:: GenericBound ] ,
46
- cx : & ' a Context < ' tcx > ,
47
- ) -> impl Display + ' a + Captures < ' tcx > {
43
+ pub ( crate ) fn print_generic_bounds (
44
+ bounds : & [ clean:: GenericBound ] ,
45
+ cx : & Context < ' _ > ,
46
+ ) -> impl Display {
48
47
fmt:: from_fn ( move |f| {
49
48
let mut bounds_dup = FxHashSet :: default ( ) ;
50
49
@@ -57,10 +56,7 @@ pub(crate) fn print_generic_bounds<'a, 'tcx: 'a>(
57
56
}
58
57
59
58
impl clean:: GenericParamDef {
60
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
61
- & ' a self ,
62
- cx : & ' a Context < ' tcx > ,
63
- ) -> impl Display + ' a + Captures < ' tcx > {
59
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
64
60
fmt:: from_fn ( move |f| match & self . kind {
65
61
clean:: GenericParamDefKind :: Lifetime { outlives } => {
66
62
write ! ( f, "{}" , self . name) ?;
@@ -107,10 +103,7 @@ impl clean::GenericParamDef {
107
103
}
108
104
109
105
impl clean:: Generics {
110
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
111
- & ' a self ,
112
- cx : & ' a Context < ' tcx > ,
113
- ) -> impl Display + ' a + Captures < ' tcx > {
106
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
114
107
fmt:: from_fn ( move |f| {
115
108
let mut real_params = self . params . iter ( ) . filter ( |p| !p. is_synthetic_param ( ) ) . peekable ( ) ;
116
109
if real_params. peek ( ) . is_none ( ) {
@@ -134,10 +127,7 @@ pub(crate) enum Ending {
134
127
NoNewline ,
135
128
}
136
129
137
- fn print_where_predicate < ' a , ' tcx : ' a > (
138
- predicate : & ' a clean:: WherePredicate ,
139
- cx : & ' a Context < ' tcx > ,
140
- ) -> impl Display + ' a + Captures < ' tcx > {
130
+ fn print_where_predicate ( predicate : & clean:: WherePredicate , cx : & Context < ' _ > ) -> impl Display {
141
131
fmt:: from_fn ( move |f| {
142
132
match predicate {
143
133
clean:: WherePredicate :: BoundPredicate { ty, bounds, bound_params } => {
@@ -173,12 +163,12 @@ fn print_where_predicate<'a, 'tcx: 'a>(
173
163
/// * The Generics from which to emit a where-clause.
174
164
/// * The number of spaces to indent each line with.
175
165
/// * Whether the where-clause needs to add a comma and newline after the last bound.
176
- pub ( crate ) fn print_where_clause < ' a , ' tcx : ' a > (
177
- gens : & ' a clean:: Generics ,
178
- cx : & ' a Context < ' tcx > ,
166
+ pub ( crate ) fn print_where_clause (
167
+ gens : & clean:: Generics ,
168
+ cx : & Context < ' _ > ,
179
169
indent : usize ,
180
170
ending : Ending ,
181
- ) -> Option < impl Display + ' a + Captures < ' tcx > > {
171
+ ) -> Option < impl Display > {
182
172
if gens. where_predicates . is_empty ( ) {
183
173
return None ;
184
174
}
@@ -250,13 +240,13 @@ pub(crate) fn print_where_clause<'a, 'tcx: 'a>(
250
240
}
251
241
252
242
impl clean:: Lifetime {
253
- pub ( crate ) fn print ( & self ) -> impl Display + ' _ {
243
+ pub ( crate ) fn print ( & self ) -> impl Display {
254
244
self . 0 . as_str ( )
255
245
}
256
246
}
257
247
258
248
impl clean:: ConstantKind {
259
- pub ( crate ) fn print ( & self , tcx : TyCtxt < ' _ > ) -> impl Display + ' _ {
249
+ pub ( crate ) fn print ( & self , tcx : TyCtxt < ' _ > ) -> impl Display {
260
250
let expr = self . expr ( tcx) ;
261
251
fmt:: from_fn ( move |f| {
262
252
if f. alternate ( ) { f. write_str ( & expr) } else { write ! ( f, "{}" , Escape ( & expr) ) }
@@ -265,7 +255,7 @@ impl clean::ConstantKind {
265
255
}
266
256
267
257
impl clean:: PolyTrait {
268
- fn print < ' a , ' tcx : ' a > ( & ' a self , cx : & ' a Context < ' tcx > ) -> impl Display + ' a + Captures < ' tcx > {
258
+ fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
269
259
fmt:: from_fn ( move |f| {
270
260
print_higher_ranked_params_with_space ( & self . generic_params , cx, "for" ) . fmt ( f) ?;
271
261
self . trait_ . print ( cx) . fmt ( f)
@@ -274,10 +264,7 @@ impl clean::PolyTrait {
274
264
}
275
265
276
266
impl clean:: GenericBound {
277
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
278
- & ' a self ,
279
- cx : & ' a Context < ' tcx > ,
280
- ) -> impl Display + ' a + Captures < ' tcx > {
267
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
281
268
fmt:: from_fn ( move |f| match self {
282
269
clean:: GenericBound :: Outlives ( lt) => write ! ( f, "{}" , lt. print( ) ) ,
283
270
clean:: GenericBound :: TraitBound ( ty, modifiers) => {
@@ -304,7 +291,7 @@ impl clean::GenericBound {
304
291
}
305
292
306
293
impl clean:: GenericArgs {
307
- fn print < ' a , ' tcx : ' a > ( & ' a self , cx : & ' a Context < ' tcx > ) -> impl Display + ' a + Captures < ' tcx > {
294
+ fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
308
295
fmt:: from_fn ( move |f| {
309
296
match self {
310
297
clean:: GenericArgs :: AngleBracketed { args, constraints } => {
@@ -809,11 +796,11 @@ fn primitive_link_fragment(
809
796
Ok ( ( ) )
810
797
}
811
798
812
- fn tybounds < ' a , ' tcx : ' a > (
813
- bounds : & ' a [ clean:: PolyTrait ] ,
814
- lt : & ' a Option < clean:: Lifetime > ,
815
- cx : & ' a Context < ' tcx > ,
816
- ) -> impl Display + ' a + Captures < ' tcx > {
799
+ fn tybounds (
800
+ bounds : & [ clean:: PolyTrait ] ,
801
+ lt : & Option < clean:: Lifetime > ,
802
+ cx : & Context < ' _ > ,
803
+ ) -> impl Display {
817
804
fmt:: from_fn ( move |f| {
818
805
bounds. iter ( ) . map ( |bound| bound. print ( cx) ) . joined ( " + " , f) ?;
819
806
if let Some ( lt) = lt {
@@ -825,11 +812,11 @@ fn tybounds<'a, 'tcx: 'a>(
825
812
} )
826
813
}
827
814
828
- fn print_higher_ranked_params_with_space < ' a , ' tcx : ' a > (
829
- params : & ' a [ clean:: GenericParamDef ] ,
830
- cx : & ' a Context < ' tcx > ,
815
+ fn print_higher_ranked_params_with_space (
816
+ params : & [ clean:: GenericParamDef ] ,
817
+ cx : & Context < ' _ > ,
831
818
keyword : & ' static str ,
832
- ) -> impl Display + ' a + Captures < ' tcx > {
819
+ ) -> impl Display {
833
820
fmt:: from_fn ( move |f| {
834
821
if !params. is_empty ( ) {
835
822
f. write_str ( keyword) ?;
@@ -841,11 +828,7 @@ fn print_higher_ranked_params_with_space<'a, 'tcx: 'a>(
841
828
} )
842
829
}
843
830
844
- pub ( crate ) fn anchor < ' a : ' cx , ' cx > (
845
- did : DefId ,
846
- text : Symbol ,
847
- cx : & ' cx Context < ' a > ,
848
- ) -> impl Display + Captures < ' a > + ' cx {
831
+ pub ( crate ) fn anchor ( did : DefId , text : Symbol , cx : & Context < ' _ > ) -> impl Display {
849
832
fmt:: from_fn ( move |f| {
850
833
let parts = href ( did, cx) ;
851
834
if let Ok ( ( url, short_ty, fqp) ) = parts {
@@ -1121,29 +1104,19 @@ fn fmt_type(
1121
1104
}
1122
1105
1123
1106
impl clean:: Type {
1124
- pub ( crate ) fn print < ' b , ' a : ' b , ' tcx : ' a > (
1125
- & ' a self ,
1126
- cx : & ' a Context < ' tcx > ,
1127
- ) -> impl Display + ' b + Captures < ' tcx > {
1107
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
1128
1108
fmt:: from_fn ( move |f| fmt_type ( self , f, false , cx) )
1129
1109
}
1130
1110
}
1131
1111
1132
1112
impl clean:: Path {
1133
- pub ( crate ) fn print < ' b , ' a : ' b , ' tcx : ' a > (
1134
- & ' a self ,
1135
- cx : & ' a Context < ' tcx > ,
1136
- ) -> impl Display + ' b + Captures < ' tcx > {
1113
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
1137
1114
fmt:: from_fn ( move |f| resolved_path ( f, self . def_id ( ) , self , false , false , cx) )
1138
1115
}
1139
1116
}
1140
1117
1141
1118
impl clean:: Impl {
1142
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
1143
- & ' a self ,
1144
- use_absolute : bool ,
1145
- cx : & ' a Context < ' tcx > ,
1146
- ) -> impl Display + ' a + Captures < ' tcx > {
1119
+ pub ( crate ) fn print ( & self , use_absolute : bool , cx : & Context < ' _ > ) -> impl Display {
1147
1120
fmt:: from_fn ( move |f| {
1148
1121
f. write_str ( "impl" ) ?;
1149
1122
self . generics . print ( cx) . fmt ( f) ?;
@@ -1182,12 +1155,12 @@ impl clean::Impl {
1182
1155
print_where_clause ( & self . generics , cx, 0 , Ending :: Newline ) . maybe_display ( ) . fmt ( f)
1183
1156
} )
1184
1157
}
1185
- fn print_type < ' a , ' tcx : ' a > (
1158
+ fn print_type (
1186
1159
& self ,
1187
1160
type_ : & clean:: Type ,
1188
1161
f : & mut fmt:: Formatter < ' _ > ,
1189
1162
use_absolute : bool ,
1190
- cx : & ' a Context < ' tcx > ,
1163
+ cx : & Context < ' _ > ,
1191
1164
) -> Result < ( ) , fmt:: Error > {
1192
1165
if let clean:: Type :: Tuple ( types) = type_
1193
1166
&& let [ clean:: Type :: Generic ( name) ] = & types[ ..]
@@ -1258,10 +1231,7 @@ impl clean::Impl {
1258
1231
}
1259
1232
1260
1233
impl clean:: Arguments {
1261
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
1262
- & ' a self ,
1263
- cx : & ' a Context < ' tcx > ,
1264
- ) -> impl Display + ' a + Captures < ' tcx > {
1234
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
1265
1235
fmt:: from_fn ( move |f| {
1266
1236
self . values
1267
1237
. iter ( )
@@ -1301,10 +1271,7 @@ impl Display for Indent {
1301
1271
}
1302
1272
1303
1273
impl clean:: FnDecl {
1304
- pub ( crate ) fn print < ' b , ' a : ' b , ' tcx : ' a > (
1305
- & ' a self ,
1306
- cx : & ' a Context < ' tcx > ,
1307
- ) -> impl Display + ' b + Captures < ' tcx > {
1274
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
1308
1275
fmt:: from_fn ( move |f| {
1309
1276
let ellipsis = if self . c_variadic { ", ..." } else { "" } ;
1310
1277
if f. alternate ( ) {
@@ -1333,12 +1300,12 @@ impl clean::FnDecl {
1333
1300
/// are preserved.
1334
1301
/// * `indent`: The number of spaces to indent each successive line with, if line-wrapping is
1335
1302
/// necessary.
1336
- pub ( crate ) fn full_print < ' a , ' tcx : ' a > (
1337
- & ' a self ,
1303
+ pub ( crate ) fn full_print (
1304
+ & self ,
1338
1305
header_len : usize ,
1339
1306
indent : usize ,
1340
- cx : & ' a Context < ' tcx > ,
1341
- ) -> impl Display + ' a + Captures < ' tcx > {
1307
+ cx : & Context < ' _ > ,
1308
+ ) -> impl Display {
1342
1309
fmt:: from_fn ( move |f| {
1343
1310
// First, generate the text form of the declaration, with no line wrapping, and count the bytes.
1344
1311
let mut counter = WriteCounter ( 0 ) ;
@@ -1420,10 +1387,7 @@ impl clean::FnDecl {
1420
1387
self . print_output ( cx) . fmt ( f)
1421
1388
}
1422
1389
1423
- fn print_output < ' a , ' tcx : ' a > (
1424
- & ' a self ,
1425
- cx : & ' a Context < ' tcx > ,
1426
- ) -> impl Display + ' a + Captures < ' tcx > {
1390
+ fn print_output ( & self , cx : & Context < ' _ > ) -> impl Display {
1427
1391
fmt:: from_fn ( move |f| match & self . output {
1428
1392
clean:: Tuple ( tys) if tys. is_empty ( ) => Ok ( ( ) ) ,
1429
1393
ty if f. alternate ( ) => {
@@ -1434,10 +1398,7 @@ impl clean::FnDecl {
1434
1398
}
1435
1399
}
1436
1400
1437
- pub ( crate ) fn visibility_print_with_space < ' a , ' tcx : ' a > (
1438
- item : & clean:: Item ,
1439
- cx : & ' a Context < ' tcx > ,
1440
- ) -> impl Display + ' a + Captures < ' tcx > {
1401
+ pub ( crate ) fn visibility_print_with_space ( item : & clean:: Item , cx : & Context < ' _ > ) -> impl Display {
1441
1402
use std:: fmt:: Write as _;
1442
1403
let vis: Cow < ' static , str > = match item. visibility ( cx. tcx ( ) ) {
1443
1404
None => "" . into ( ) ,
@@ -1546,10 +1507,7 @@ pub(crate) fn print_constness_with_space(
1546
1507
}
1547
1508
1548
1509
impl clean:: Import {
1549
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
1550
- & ' a self ,
1551
- cx : & ' a Context < ' tcx > ,
1552
- ) -> impl Display + ' a + Captures < ' tcx > {
1510
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
1553
1511
fmt:: from_fn ( move |f| match self . kind {
1554
1512
clean:: ImportKind :: Simple ( name) => {
1555
1513
if name == self . source . path . last ( ) {
@@ -1570,10 +1528,7 @@ impl clean::Import {
1570
1528
}
1571
1529
1572
1530
impl clean:: ImportSource {
1573
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
1574
- & ' a self ,
1575
- cx : & ' a Context < ' tcx > ,
1576
- ) -> impl Display + ' a + Captures < ' tcx > {
1531
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
1577
1532
fmt:: from_fn ( move |f| match self . did {
1578
1533
Some ( did) => resolved_path ( f, did, & self . path , true , false , cx) ,
1579
1534
_ => {
@@ -1593,10 +1548,7 @@ impl clean::ImportSource {
1593
1548
}
1594
1549
1595
1550
impl clean:: AssocItemConstraint {
1596
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
1597
- & ' a self ,
1598
- cx : & ' a Context < ' tcx > ,
1599
- ) -> impl Display + ' a + Captures < ' tcx > {
1551
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
1600
1552
fmt:: from_fn ( move |f| {
1601
1553
f. write_str ( self . assoc . name . as_str ( ) ) ?;
1602
1554
self . assoc . args . print ( cx) . fmt ( f) ?;
@@ -1627,15 +1579,12 @@ pub(crate) fn print_abi_with_space(abi: ExternAbi) -> impl Display {
1627
1579
} )
1628
1580
}
1629
1581
1630
- pub ( crate ) fn print_default_space < ' a > ( v : bool ) -> & ' a str {
1582
+ pub ( crate ) fn print_default_space ( v : bool ) -> & ' static str {
1631
1583
if v { "default " } else { "" }
1632
1584
}
1633
1585
1634
1586
impl clean:: GenericArg {
1635
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
1636
- & ' a self ,
1637
- cx : & ' a Context < ' tcx > ,
1638
- ) -> impl Display + ' a + Captures < ' tcx > {
1587
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
1639
1588
fmt:: from_fn ( move |f| match self {
1640
1589
clean:: GenericArg :: Lifetime ( lt) => lt. print ( ) . fmt ( f) ,
1641
1590
clean:: GenericArg :: Type ( ty) => ty. print ( cx) . fmt ( f) ,
@@ -1646,10 +1595,7 @@ impl clean::GenericArg {
1646
1595
}
1647
1596
1648
1597
impl clean:: Term {
1649
- pub ( crate ) fn print < ' a , ' tcx : ' a > (
1650
- & ' a self ,
1651
- cx : & ' a Context < ' tcx > ,
1652
- ) -> impl Display + ' a + Captures < ' tcx > {
1598
+ pub ( crate ) fn print ( & self , cx : & Context < ' _ > ) -> impl Display {
1653
1599
fmt:: from_fn ( move |f| match self {
1654
1600
clean:: Term :: Type ( ty) => ty. print ( cx) . fmt ( f) ,
1655
1601
clean:: Term :: Constant ( ct) => ct. print ( cx. tcx ( ) ) . fmt ( f) ,
0 commit comments