Auto merge of #35567 - creativcoder:e0261, r=jonathandturner

Update E0261 and E0262 to new error format

Fixes #35516 and  #35517 . Part of #35233
r? @jonathandturner
This commit is contained in:
bors 2016-08-15 05:12:35 -07:00 committed by GitHub
commit b72fa8ca95
3 changed files with 13 additions and 5 deletions

View File

@ -697,9 +697,10 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
}
fn unresolved_lifetime_ref(&self, lifetime_ref: &hir::Lifetime) {
span_err!(self.sess, lifetime_ref.span, E0261,
"use of undeclared lifetime name `{}`",
lifetime_ref.name);
struct_span_err!(self.sess, lifetime_ref.span, E0261,
"use of undeclared lifetime name `{}`", lifetime_ref.name)
.span_label(lifetime_ref.span, &format!("undeclared lifetime"))
.emit();
}
fn check_lifetime_defs(&mut self, old_scope: Scope, lifetimes: &[hir::LifetimeDef]) {
@ -708,8 +709,12 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
for lifetime in lifetimes {
if lifetime.lifetime.name == keywords::StaticLifetime.name() {
span_err!(self.sess, lifetime.lifetime.span, E0262,
"invalid lifetime parameter name: `{}`", lifetime.lifetime.name);
let lifetime = lifetime.lifetime;
let mut err = struct_span_err!(self.sess, lifetime.span, E0262,
"invalid lifetime parameter name: `{}`", lifetime.name);
err.span_label(lifetime.span,
&format!("{} is a reserved lifetime name", lifetime.name));
err.emit();
}
}

View File

@ -9,9 +9,11 @@
// except according to those terms.
fn foo(x: &'a str) { } //~ ERROR E0261
//~| undeclared lifetime
struct Foo {
x: &'a str, //~ ERROR E0261
//~| undeclared lifetime
}
fn main() {}

View File

@ -9,5 +9,6 @@
// except according to those terms.
fn foo<'static>(x: &'static str) { } //~ ERROR E0262
//~| 'static is a reserved lifetime name
fn main() {}