Do not rely on names to find lifetimes.
This commit is contained in:
parent
a32d4a0e82
commit
ca7c55f050
7 changed files with 19 additions and 39 deletions
|
@ -1079,16 +1079,8 @@ fn msg_span_from_named_region<'tcx>(
|
|||
) -> (String, Option<Span>) {
|
||||
match *region {
|
||||
ty::ReEarlyParam(br) => {
|
||||
let scope = tcx
|
||||
.parent(tcx.generics_of(generic_param_scope).region_param(br, tcx).def_id)
|
||||
.expect_local();
|
||||
let span = if let Some(param) =
|
||||
tcx.hir().get_generics(scope).and_then(|generics| generics.get_named(br.name))
|
||||
{
|
||||
param.span
|
||||
} else {
|
||||
tcx.def_span(scope)
|
||||
};
|
||||
let param_def_id = tcx.generics_of(generic_param_scope).region_param(br, tcx).def_id;
|
||||
let span = tcx.def_span(param_def_id);
|
||||
let text = if br.has_name() {
|
||||
format!("the lifetime `{}` as defined here", br.name)
|
||||
} else {
|
||||
|
@ -1104,16 +1096,8 @@ fn msg_span_from_named_region<'tcx>(
|
|||
("the anonymous lifetime defined here".to_string(), Some(ty.span))
|
||||
} else {
|
||||
match fr.bound_region {
|
||||
ty::BoundRegionKind::BrNamed(_, name) => {
|
||||
let span = if let Some(param) = tcx
|
||||
.hir()
|
||||
.get_generics(generic_param_scope)
|
||||
.and_then(|generics| generics.get_named(name))
|
||||
{
|
||||
param.span
|
||||
} else {
|
||||
tcx.def_span(generic_param_scope)
|
||||
};
|
||||
ty::BoundRegionKind::BrNamed(param_def_id, name) => {
|
||||
let span = tcx.def_span(param_def_id);
|
||||
let text = if name == kw::UnderscoreLifetime {
|
||||
"the anonymous lifetime as defined here".to_string()
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue