提交 1ae1a19b 编写于 作者: A Adam Ransom

Refactor checking if a `Lifetime` is static

Simply move the test for `keywords::StaticLifetime` into the
`Lifetime` impl, to match how elision is checked.
上级 8c4f2c64
......@@ -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 @@ fn visit_lifetime(&mut self, lifetime_ref: &'tcx hir::Lifetime) {
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 @@ fn check_lifetime_defs(&mut self, old_scope: ScopeRef, lifetimes: &[hir::Lifetim
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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册