Refactor checking if a Lifetime
is static
Simply move the test for `keywords::StaticLifetime` into the `Lifetime` impl, to match how elision is checked.
This commit is contained in:
parent
8c4f2c64c6
commit
1ae1a19ba6
@ -100,6 +100,10 @@ impl Lifetime {
|
||||
pub fn is_elided(&self) -> bool {
|
||||
self.name == keywords::Invalid.name()
|
||||
}
|
||||
|
||||
pub fn is_static(&self) -> bool {
|
||||
self.name == keywords::StaticLifetime.name()
|
||||
}
|
||||
}
|
||||
|
||||
/// A lifetime definition, eg `'a: 'b+'c+'d`
|
||||
|
@ -434,7 +434,7 @@ impl<'a, 'tcx> Visitor<'tcx> for LifetimeContext<'a, 'tcx> {
|
||||
self.resolve_elided_lifetimes(slice::ref_slice(lifetime_ref));
|
||||
return;
|
||||
}
|
||||
if lifetime_ref.name == keywords::StaticLifetime.name() {
|
||||
if lifetime_ref.is_static() {
|
||||
self.insert_lifetime(lifetime_ref, Region::Static);
|
||||
return;
|
||||
}
|
||||
@ -1434,7 +1434,7 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
|
||||
let lifetime_i = &lifetimes[i];
|
||||
|
||||
for lifetime in lifetimes {
|
||||
if lifetime.lifetime.name == keywords::StaticLifetime.name() {
|
||||
if lifetime.lifetime.is_static() {
|
||||
let lifetime = lifetime.lifetime;
|
||||
let mut err = struct_span_err!(self.sess, lifetime.span, E0262,
|
||||
"invalid lifetime parameter name: `{}`", lifetime.name);
|
||||
|
Loading…
x
Reference in New Issue
Block a user