Skip to content

Commit 5ccaed2

Browse files
committed
rustdoc: create helper GenericParamDef::lifetime
1 parent 7ec50b6 commit 5ccaed2

File tree

5 files changed

+13
-28
lines changed

5 files changed

+13
-28
lines changed

Diff for: src/librustdoc/clean/auto_trait.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -336,10 +336,7 @@ where
336336
match br {
337337
// We only care about named late bound regions, as we need to add them
338338
// to the 'for<>' section
339-
ty::BrNamed(_, name) => Some(GenericParamDef {
340-
name,
341-
kind: GenericParamDefKind::Lifetime { outlives: vec![] },
342-
}),
339+
ty::BrNamed(_, name) => Some(GenericParamDef::lifetime(name)),
343340
_ => None,
344341
}
345342
})

Diff for: src/librustdoc/clean/inline.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,7 @@ fn build_external_function<'tcx>(cx: &mut DocContext<'tcx>, did: DefId) -> Box<c
245245

246246
let late_bound_regions = sig.bound_vars().into_iter().filter_map(|var| match var {
247247
ty::BoundVariableKind::Region(ty::BrNamed(_, name)) if name != kw::UnderscoreLifetime => {
248-
Some(clean::GenericParamDef {
249-
name,
250-
kind: clean::GenericParamDefKind::Lifetime { outlives: Vec::new() },
251-
})
248+
Some(clean::GenericParamDef::lifetime(name))
252249
}
253250
_ => None,
254251
});

Diff for: src/librustdoc/clean/mod.rs

+6-16
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,9 @@ fn clean_poly_trait_ref_with_bindings<'tcx>(
182182
.collect_referenced_late_bound_regions(&poly_trait_ref)
183183
.into_iter()
184184
.filter_map(|br| match br {
185-
ty::BrNamed(_, name) if name != kw::UnderscoreLifetime => Some(GenericParamDef {
186-
name,
187-
kind: GenericParamDefKind::Lifetime { outlives: vec![] },
188-
}),
185+
ty::BrNamed(_, name) if name != kw::UnderscoreLifetime => {
186+
Some(GenericParamDef::lifetime(name))
187+
}
189188
_ => None,
190189
})
191190
.collect();
@@ -741,10 +740,7 @@ fn clean_ty_generics<'tcx>(
741740
p.get_bound_params()
742741
.into_iter()
743742
.flatten()
744-
.map(|param| GenericParamDef {
745-
name: param.0,
746-
kind: GenericParamDefKind::Lifetime { outlives: Vec::new() },
747-
})
743+
.map(|param| GenericParamDef::lifetime(param.0))
748744
.collect(),
749745
));
750746
}
@@ -1156,10 +1152,7 @@ pub(crate) fn clean_middle_assoc_item<'tcx>(
11561152
ty::BoundVariableKind::Region(ty::BrNamed(_, name))
11571153
if name != kw::UnderscoreLifetime =>
11581154
{
1159-
Some(GenericParamDef {
1160-
name,
1161-
kind: GenericParamDefKind::Lifetime { outlives: Vec::new() },
1162-
})
1155+
Some(GenericParamDef::lifetime(name))
11631156
}
11641157
_ => None,
11651158
});
@@ -1720,10 +1713,7 @@ pub(crate) fn clean_middle_ty<'tcx>(
17201713
ty::BoundVariableKind::Region(ty::BrNamed(_, name))
17211714
if name != kw::UnderscoreLifetime =>
17221715
{
1723-
Some(GenericParamDef {
1724-
name,
1725-
kind: GenericParamDefKind::Lifetime { outlives: vec![] },
1726-
})
1716+
Some(GenericParamDef::lifetime(name))
17271717
}
17281718
_ => None,
17291719
})

Diff for: src/librustdoc/clean/simplify.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,7 @@ pub(crate) fn where_clauses(cx: &DocContext<'_>, clauses: Vec<WP>) -> ThinVec<WP
5151
let Some((bounds, _)) = tybounds.get_mut(ty) else { return true };
5252
let bound_params = bound_params
5353
.into_iter()
54-
.map(|param| clean::GenericParamDef {
55-
name: param.0,
56-
kind: clean::GenericParamDefKind::Lifetime { outlives: Vec::new() },
57-
})
54+
.map(|param| clean::GenericParamDef::lifetime(param.0))
5855
.collect();
5956
merge_bounds(cx, bounds, bound_params, trait_did, name, rhs)
6057
});

Diff for: src/librustdoc/clean/types.rs

+4
Original file line numberDiff line numberDiff line change
@@ -1437,6 +1437,10 @@ pub(crate) struct GenericParamDef {
14371437
}
14381438

14391439
impl GenericParamDef {
1440+
pub(crate) fn lifetime(name: Symbol) -> Self {
1441+
Self { name, kind: GenericParamDefKind::Lifetime { outlives: Vec::new() } }
1442+
}
1443+
14401444
pub(crate) fn is_synthetic_type_param(&self) -> bool {
14411445
match self.kind {
14421446
GenericParamDefKind::Lifetime { .. } | GenericParamDefKind::Const { .. } => false,

0 commit comments

Comments
 (0)