diff options
| author | bors <bors@rust-lang.org> | 2016-08-15 05:12:35 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-08-15 05:12:35 -0700 |
| commit | b72fa8ca95c02e4b44b216a425fd563ad2ef58bb (patch) | |
| tree | 7dd337db8e64bd6e1cb7663a3a611e944664c8e4 /src | |
| parent | f0bab98695f0a4877daabad9a5b0ba3e66121392 (diff) | |
| parent | 02fa14fc8ef3020b2ca52cc7d7f69db38520569f (diff) | |
| download | rust-b72fa8ca95c02e4b44b216a425fd563ad2ef58bb.tar.gz rust-b72fa8ca95c02e4b44b216a425fd563ad2ef58bb.zip | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/middle/resolve_lifetime.rs | 15 | ||||
| -rw-r--r-- | src/test/compile-fail/E0261.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/E0262.rs | 1 |
3 files changed, 13 insertions, 5 deletions
diff --git a/src/librustc/middle/resolve_lifetime.rs b/src/librustc/middle/resolve_lifetime.rs index 76c73f12f4e..9ccca9e6a08 100644 --- a/src/librustc/middle/resolve_lifetime.rs +++ b/src/librustc/middle/resolve_lifetime.rs @@ -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(); } } diff --git a/src/test/compile-fail/E0261.rs b/src/test/compile-fail/E0261.rs index 4196ad370b8..558c1c38144 100644 --- a/src/test/compile-fail/E0261.rs +++ b/src/test/compile-fail/E0261.rs @@ -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() {} diff --git a/src/test/compile-fail/E0262.rs b/src/test/compile-fail/E0262.rs index e09e4766d51..41b6acaee4a 100644 --- a/src/test/compile-fail/E0262.rs +++ b/src/test/compile-fail/E0262.rs @@ -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() {} |
